我已经构建了一个jquerymobile Android应用程序,除了表单提交问题之外,一切都运行良好,这让我疯狂。
基本上 - 如果您输入文本并单击物理搜索按钮 - 搜索功能效果很好 - 但是如果您输入文本并单击输入按钮,应用程序将导航到主页....如何阻止这种情况发生?< / p>
这是我的表格
<form class="srchForm" action="searchThis()">
<input type="search" class="srchInput">
<div class="clearBtn"><span class="hidden">Clear</span></div>
<div class="srchBtnOne"><span class="hidden">Search</span></div>
</form>
function searchThis() {
event.preventDefault();
var inputDetails= $('.srchInput').val();
$('.srchRes').empty();
$('.srchRes').append('<iframe frameborder="0" scrolling="no" width="300" frameborder="0" src="http://uc.dialogue.netsrch.jsp?query='+inputDetails+'&searchMode=any&indexGroup=" style=" border:none;background:#FFF; overflow:none; width:300px;"></iframe>');
}
我以为我用event.preventdefault()解决了这个问题。但它仍然导致问题.. 任何人都可以提出任何建议吗?
欢呼声 保罗
答案 0 :(得分:1)
这是解决问题的唯一方法 -
$(window).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
searchThis()
return false;
}
});
答案 1 :(得分:0)
jQuery Mobile框架可能仍然在提交表单提交,因为它自己的表单提交的AJAX处理。要停止此操作,要么全局禁用表单的AJAX处理,要么单独禁用表单上的AJAX,如下所示:
<form class="srchForm" action="searchThis()" data-ajax="false">
<input type="search" class="srchInput">
<div class="clearBtn"><span class="hidden">Clear</span></div>
<div class="srchBtnOne"><span class="hidden">Search</span></div>
</form>
答案 2 :(得分:0)
Try this:
$( document ).delegate("#index", "pageshow",function(event){
$('#index #searchForm').bind('submit',function(e) {
e.preventDefault;
});
$("#index #searchformbtn").unbind("blur");
$("#index #searchformbtn").bind('blur',function(event){
var inputDetails= $('.srchInput').val();
$('.srchRes').empty();
$('.srchRes').append('<iframe frameborder="0" scrolling="no" width="300" frameborder="0" src="http://uc.dialogue.netsrch.jsp?query='+inputDetails+'&searchMode=any&indexGroup=" style=" border:none;background:#FFF; overflow:none; width:300px;"></iframe>');
return false;
});
});