我有这段代码:
<form method="get" action="" id="search">
<input id="search_box" name="search" type="text" class='search_box' onkeypress="if(event.keyCode==13) sentAjax('searchdata.php');var filelink='searchdata.php';" value="" onclick="this.value=''" />
<input type="hidden" name="course_val" id="course_val" />
</form>
我想阻止表单提交到其他页面。现在,如果您点击输入,则会提交到其他页面
答案 0 :(得分:2)
<form method="get" action="" id="search" onsubmit="return false;">
...
</form>
请注意,不会让你提交表格,所以理想情况下你会调用你想要提交的提交处理程序功能
<form method="get" action="" id="search" onsubmit="return mySubmitHandler()">
...
</form>
并在您的提交处理程序中
function mySubmitHandler(){
if (submit_criteria_met) {
return true;
} else {
return false;
}
return false;
}
答案 1 :(得分:1)
这应该可以解决问题:
$('form#search').on('submit', function(e) {
e.preventDefault();
});
重要的部分是e.preventDefault()
,它会阻止在触发submit
事件时提交表单。
答案 2 :(得分:1)
删除输入字段中的onkeypress
属性,当按下回车键时,它看起来像是在窗帘后面发布了一些(键码13)。
您可能还想阻止表单提交,但由于action属性为空,它似乎提交到同一页面。
如果您无法编辑HTML,请尝试以下操作:
$('#search').submit(function(e) {
e.preventDefault();
}).find('input[onkeypress]').removeAttr('onkeypress');
答案 3 :(得分:0)
$('#search').bind('submit',function(e) {
e.preventDefault();
});
答案 4 :(得分:0)
防止表单的默认操作。
$('#search').submit(function(event) { event.preventDefault(); });