Я пытаюсь запретить отправку формы входа, чтобы я мог запросить сервер, проверить имя пользователя и пароль и только затем перейти на домашнюю страницу.
Вот соответствующий код:
В login.html:
<form id="login-form">
<input type="text" name="login-username" id="login-username" value="" placeholder="Username" />
<input type="password" name="login-password" id="login-password" value="" placeholder="Password" /><br />
<button id="cab-submit" type="submit" data-theme="a" data-inline="true">Log In</button>
</form>
В app.js:
$("#login-form").live("submit", function(event) {
event.preventDefault();
$.mobile.changePage("main.html", {
transition: "fade"
});
});
Я опытный программист jQuery, но никогда не сталкивался с этим. ChangePage () работает, но происходит только после отправки формы, что вызывает ненужную загрузку страницы.
РЕДАКТИРОВАТЬ: найдено решение.
Мне пришлось добавить data-ajax = "false" в форму, если я хочу обработать отправку формы самостоятельно. Это работало нормально.
Новая разметка:
<form id="login-form" data-ajax="false">
<input type="text" name="login-username" id="login-username" value="" placeholder="Username" />
<input type="password" name="login-password" id="login-password" value="" placeholder="Password" /><br />
<button id="cab-submit" type="submit" data-theme="a" data-inline="true">Log In</button>
</form>