0

さまざまな値バインディングとその背後にあるノックアウト ビューモデルを使用してフォームをコーディングしました。フォームは AJAX ポスト (フォーム ボタンのクリック バインディングによってトリガーされる) によって送信されます。テキストフィールドに変更を加え、カーソルをそこに置いたまま送信ボタンを直接クリックすると、投稿前にモデルが正しく更新されないことに気付きました。

値バインディングの「afterkeydown」オプションは知っていますが、キーを押すたびに検証がトリガーされるため、使用しないことを好みます。私のajax送信機能でプログラムによってモデルの更新を強制する方法はありますか?

4

1 に答える 1

1

クリックの代わりに送信バインディングを使用してみてください。

<form data-bind="submit: doSomething">
    ... form contents go here ...
    <button type="submit">Submit</button>
</div>

<script type="text/javascript">
    var viewModel = {
        doSomething : function(formElement) {
            // ... now do something 
        }
    };
</script>

送信に関するドキュメント ページ: http://knockoutjs.com/documentation/submit-binding.html

于 2012-11-14T12:18:39.403 に答える