Привязка submit добавляет обработчик, который срабатывает при отправке формы:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Привязка в KnockoutJS</title> <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/knockout/knockout-3.4.0.js"></script> </head> <body> <form data-bind="submit: submitHandler"> <input type="text" name="login" placeholder="Введите логин" /> <input type="text" name="password" placeholder="Введите пароль" /> <button type="submit">Отправить</button> </form> <script type="text/javascript"> var viewModel = { submitHandler : function(form) { console.log(form.elements["login"].value); console.log(form.elements["password"].value); } }; ko.applyBindings(viewModel); </script> </body> </html>
В качестве параметра в обработчик передается элемент формы, у которого мы можем получить введенные значения.
Надо отметить, что при этом не происходит отправка формы. Чтобы она происходила, надо чтобы функция обработчика возвращала значение true
:
submitHandler : function(form) { console.log(form.elements["login"].value); console.log(form.elements["password"].value); return true; }