我正在尝试阻止登录表单提交,以便我可以查询服务器,验证用户名和密码,然后才转到主页.
这是相关的代码:
在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>
Run Code Online (Sandbox Code Playgroud)
在app.js中:
$("#login-form").live("submit", function(event) {
event.preventDefault();
$.mobile.changePage("main.html", {
transition: "fade"
});
});
Run Code Online (Sandbox Code Playgroud)
我是一名经验丰富的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>
Run Code Online (Sandbox Code Playgroud)
Jam*_*ren 15
回答了我自己的问题.如果我想自己处理表单提交,我必须在表单中添加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>
Run Code Online (Sandbox Code Playgroud)