Knockout and autocomplete in firefox

https://groups.google.com/d/topic/knockoutjs/J4QSe_Z57jo/discussion

by kougiland

HTML

<script src="http://rniemeyer.github.com/KnockMeOut/Scripts/jquery.tmpl.js"></script>
<script src="http://knockoutjs.com/downloads/knockout-2.2.1.debug.js"></script>
<form action="/echo/html/">
    <label for="username">Username: </label>
    <input type="text" name="username" id="username" data-bind="valueWithInit: username" />
    <label for="password">Password: </label>
    <input type="password" name="password" id="password" data-bind="valueWithInit: password" />
    <input type="submit" value="Go" />
</form>

<hr />

<div data-bind="text: 'username = ' + username()"></div>
<div data-bind="text: 'password = ' + password()"></div>

CSS

input { width: 75px; }
td { width: 75px; }
th { color: #666; font-size: .8em; }
.buttons { width: 150px; }

JavaScript

$(function() {
    ko.bindingHandlers.valueWithInit = {
        init: function(element, valueAccessor, allBindingsAccessor, context) {
            var observable = valueAccessor();
            var value = element.value;

            observable(value);   
            
            ko.bindingHandlers.value.init(element, valueAccessor, allBindingsAccessor, context);
        },
        update: ko.bindingHandlers.value.update
    };

    var viewModel = {
        username: ko.observable(""),
        password: ko.observable("")
    };

    setTimeout(function() { ko.applyBindings(viewModel); }, 15);
});