我正在使用JQuery Mobile编写PhoneGap应用程序。
我根据在应用中点击的按钮和链接更改页面。我的所有视图都封装在一个index.html页面中。不同的页面由div数据角色分解如下:
<div data-role="page" id="view1"></div>
<div data-role="page" id="view2"></div>
单击按钮后,应用会使用以下内容移动下一个视图:
$.mobile.changePage("#search2_1");
问题是当用户在文本框中键入内容时。弹出键盘弹出“Go”或“Search”按钮。如果用户点击此按钮,他们会绕过将他们移动到下一页的javascript函数,并无意中将其发送回应用程序的根目录。
是否有禁用或删除这些按钮甚至让这些按钮触发更改页面功能?
*注意:由于这是一个PhoneGap应用程序,我在Objective-C中可以做的事情有限,我正专注于在网页中这样做。
答案 0 :(得分:4)
由于您的元素位于表单元素内,因此用户通过按下搜索或转到按钮来提交表单,这将重新加载页面。
您需要取消表单提交。
在jquery中看起来像这样:
$("yourform").submit(function(){
return false;
});
答案 1 :(得分:2)
要回答问题的第二部分,这就是我所做的:
$('#form').submit(function(e) {
e.preventDefault();
$('#button').trigger('click');
return false;
});
这可以防止默认提交,而是触发您想要的操作。