title: Control button enable in knockout with textInput and with no computed
body: <p>The accepted answer here: <a href="https://stackoverflow.com/questions/23109010/how-to-enable-button-when-input-field-is-not-empty">SO QUESTION</a> works with my code like this:</p>
  
  <p>Viewmodel:</p>
  
  <pre><code>self.newHealthCategoryName = ko.observable();    
  self.isFormValid = ko.computed(function(){
          return self.newHealthCategoryName();
      },self);
  </code></pre>
  
  <p>Html:</p>
  
  <pre><code>&lt;input data-bind="value: newHealthCategoryName,valueUpdate: 'keyup'" class="form-control input-inline"/&gt;
  
  {!! Form::submit('Create category',['class' =&gt; 'btn btn-primary',
  'name' =&gt; 'btnhealthcategorycreate','id' =&gt; 'btnhealthcategorycreate',
  'data-bind' =&gt; 'enable: isFormValid']) !!}
  </code></pre>
  
  <p>I tried instead of using these to use textInput in the input element and length of my observable in my button to achieve the same result but i cant. Why?</p>
  
  <p>Failed:</p>
  
  <p></p>
  
  <pre><code>{!! Form::submit('Create category',['class' =&gt; 'btn btn-primary',
  'name' =&gt; 'btnhealthcategorycreate','id' =&gt; 'btnhealthcategorycreate',
  'data-bind' =&gt; 'enable: $root.newHealthCategoryName.length&gt;0']) !!}
  </code></pre>
  
  <p>It should work, especially when knockout manual states that:</p>
  
  <blockquote>
    <p>Browsers are highly inconsistent in the events that fire in response
    to unusual text entry mechanisms such as cutting, dragging, or
    accepting autocomplete suggestions. The value binding, even with extra
    options such as valueUpdate: afterkeydown to get updates on particular
    events, does not cover all text entry scenarios on all browsers.</p>
    
    <p>The textInput binding is specifically designed to handle a wide range
    of browser quirks, to provide consistent and immediate model updates
    even in response to unusual text entry methods.</p>
  </blockquote>