2013-09-16 3 views
0

Я только недавно начал НокаутJS, так что медведь со мной, если это кажется тривиальным вопросом.KnockoutJS - Применить изменения к данным после события

Я знаю о наблюдаемых полях. Я знаю, что если вы связать его с использованием значения

<input type="text" data-bind="value: foo"/> 

, что любые изменения, сделанные к этому элементу будет обновляться во всех элементах, которые связывают foo как текст в режиме реального времени

<h2 data-bind="text: foo"></h2> 

Мой вопрос,

Как применить изменения только после события, например, нажать кнопку отправки, а не в режиме реального времени?

<form> 
<input type="text" data-bind="value: foo"/> 
<input type="submit" value="submit"/> 
</for> 

ответ

1

В этом случае, вы можете использовать Submit Binding

Внутри функции представить, вы можете манипулировать данными любым способом, вам нужно.

связывание будет выглядеть по линии

<form data-bind="submit: doSomething"> 

Here простой скрипка, показывающая, как это работает.

+0

Странно, моя форма фактически перенаправляется на другую страницу после показа предупреждений. Любая идея, почему это так? – arvinsim

+0

Nevermind. Это проблема совместимости с jQueryMobile Knockout. http://stackoverflow.com/questions/10967034/jquery-mobile-and-knockout-form-submit-binding – arvinsim

Смежные вопросы