阻止表单提交到其他页面

时间:2012-01-17 00:22:38

标签: javascript jquery html5

我有这段代码:

<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>

我想阻止表单提交到其他页面。现在,如果您点击输入,则会提交到其他页面

5 个答案:

答案 0 :(得分:2)

纯pavascript中的

<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');

测试:http://jsfiddle.net/DAvfm/

答案 3 :(得分:0)

$('#search').bind('submit',function(e) {
    e.preventDefault();
});

答案 4 :(得分:0)

防止表单的默认操作。

$('#search').submit(function(event) { event.preventDefault(); });