我目前正在创建一个简单的jQuery移动登录页面。下面是我的代码:
<div data-role="page">
<div data-role="header"><h1>Header</h1></div>
<?php
if(isset($_POST['username']) && isset($_POST['password'])){
die("hello");
}
?>
<div data-role="content">
<form method="post">
<div data-role="fieldcontain">
<label for="username">Username:</label>
<input id="username" type="text" name="username" />
</div>
<div data-role="fieldcontain">
<label for="password">Password:</label>
<input id="password" type="password" name="password" />
</div>
<input type="submit" value="Sign In" data-inline="true" data-theme="b" />
</form>
</div>
<div data-role="footer"><h4>Footer</h4></div>
</div>
每当我使用firebug输入用户名和密码时,我都能看出发送了正确的帖子,但是,通过ajax返回以加载到页面的页面中没有die("hello")
。这是我输入登录信息的同一页。
我使用jQuery移动的表单系统错误吗?
在对表单提交进行故障排除时,可能需要考虑关闭Ajax。JQuery Mobile内部表单提交的Ajax处理是自动实现的,以便在表单和结果之间创建平滑的过渡。细节,在这里。要提交一个没有Ajax的表单,您可以全局禁用Ajax表单处理,也可以通过
data-ajax="false"
属性。或者全局
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});