Jquery mobile jqm表单在多页上提交
我对jquery移动站点上有两个或更多页面的表单有问题 一个页面包含一个表单,单击该表单的提交按钮时,我希望提交表单数据,然后停留在该页面上。因此,我将该页面的id添加到表单的action属性中。(Jquery mobile jqm表单在多页上提交,jquery-mobile,Jquery Mobile,我对jquery移动站点上有两个或更多页面的表单有问题 一个页面包含一个表单,单击该表单的提交按钮时,我希望提交表单数据,然后停留在该页面上。因此,我将该页面的id添加到表单的action属性中。() 但不幸的是,这似乎不起作用。提交表单数据时,始终加载实际文件的第一页,即使浏览器的url看起来正确(添加了正确的id) 而且情况变得更糟了。因为我在表单的action属性中添加了id,jqm加载了文件的第一页,但显然认为它位于第二页,所以指向表单页面的链接将不再有效 有一件事解决了这个问题:将da
)
但不幸的是,这似乎不起作用。提交表单数据时,始终加载实际文件的第一页,即使浏览器的url看起来正确(添加了正确的id)
而且情况变得更糟了。因为我在表单的action属性中添加了id,jqm加载了文件的第一页,但显然认为它位于第二页,所以指向表单页面的链接将不再有效
有一件事解决了这个问题:将data ajax=“false”
添加到表单元素会迫使jqm停止对该表单的基于ajax的页面处理,当单击submit按钮时,我会出现在右侧页面,但我不想重新加载整个页面,因此这不是解决方案
有没有人知道这里发生了什么并且遇到过同样的问题?请随意尝试附加的示例,我希望有人能够解决这个问题
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="page" id="one">
<div data-role="header">
<h1>First page</h1>
</div><!-- /header -->
<div data-role="content">
<p>Hello world</p>
<p><a href="#two">Link to second page</a></p>
</div><!-- /content -->
</div><!-- /page -->
<div data-role="page" id="two">
<div data-role="header">
<h1>Second page</h1>
</div><!-- /header -->
<div data-role="content">
<form action="#two">
<button type="submit">Submit</button>
</form>
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
我的页面
首页
你好,世界
第二页
提交
更改输入提交标记以调用函数
<input type="submit" onclick="submitThis()" />
--编辑--
您还可以使用preventDefault()方法代替或返回false
更改输入提交标记以调用函数
<input type="submit" onclick="submitThis()" />
--编辑--
您还可以使用preventDefault()方法代替或返回false
嘿,谢谢你的快速回答。这是一个很好的解决方法,但显然jqm行为是一个bug,不是吗?我只是想确定jqm本身无法做到这一点(具有核心功能),我打算从第三页在jqm对话框(`')中调用表单,因此我应该调整您的建议,使其与对话框相适应。尝试更改您的设置,删除ID的哈希。感谢您的拨弄和编辑,我想我会用你的建议来解决这个问题。我也把这个问题发到了,可能以后会有解决办法。顺便说一下,删除散列不起作用,我只得到一个“找不到页面”错误。事实上,就我所知,在提交jQuery代码时,action属性被忽略。嘿,谢谢你的快速回答。这是一个很好的解决方法,但显然jqm行为是一个bug,不是吗?我只是想确定jqm本身无法做到这一点(具有核心功能),我打算从第三页在jqm对话框(`')中调用表单,因此我应该调整您的建议,使其与对话框相适应。尝试更改您的设置,删除ID的哈希。感谢您的拨弄和编辑,我想我会用你的建议来解决这个问题。我也把这个问题发到了,可能以后会有解决办法。顺便说一下,删除散列不起作用,我只得到一个“找不到页面”错误。事实上,就我所知,使用submit jQuery代码时,action属性被忽略。请注意的“在多页文档中链接”一段,但我想这不适合这里,因为我链接到的页面已经在DOM中。请注意的“在多页文档中链接”一段,但是我想这不适合这里,因为我链接到的页面已经在DOM中了。
$("#submit").submit( function (e) {
e.preventDefault();
// do your task
});