Jquery提交表单已损坏

时间:2012-07-09 02:12:03

标签: javascript jquery html forms

我尝试停止表单刷新页面,但每次提交表单时都会刷新页面。

<script>
$("#myforms").submit(function() { 

   return false; 
});
</script>

<form action="" method="post" id="myforms">
      <input id="search123" style="text-align:center" type="text" value="Enter Search..." />
    </form>

更新

$(document).ready(function() {
    $("#myforms").submit(function() {
              runSearch123();
              return false;
        });
});

还是同样的问题

6 个答案:

答案 0 :(得分:2)

您需要将代码放在jQuery ready handler

<script>
$(function(){
  $("#myforms").submit(function() {
              return false;
        });
});
</script>

答案 1 :(得分:1)

如果您不想刷新页面,则需要使用ajax。

答案 2 :(得分:0)

你忘记了一些禁忌:

$("#myforms").submit(function() {
        return false;
  });

答案 3 :(得分:0)

将脚本标记移动到表单之后或将代码添加到domready事件。

<form action="" method="post" id="myforms">
      <input id="search123" style="text-align:center" type="text" value="Enter Search..." />
</form>
<script>
    $("#myforms").submit(function() {
        return false;
    });
</script>

FIDDLE

<script>
    $(document).ready(function(){
        $("#myforms").submit(function() {
            return false;
        });
    });
</script>

FIDDLE

答案 4 :(得分:0)

这是一个常见问题,很容易解决。

只需删除<form>代码,然后使用:

<div id="myforms">
    <input id="search123" onKeyUp="setTimeout(submit,1000)" style="text-align:center" type="text" value="Enter Search..." />
</div>

然后在Javascript中创建一个执行所需操作的submit()方法。

这会阻止表单回发到页面。

如果您需要在某处发布数据,请在.post()方法中使用JQuery的submit()方法:

http://api.jquery.com/jQuery.post/

答案 5 :(得分:0)

提交的表单将始终刷新/重定向页面,以避免您所要做的就是:

<form action="" method="post" id="myforms" onsubmit="return false">
      <input id="search123" style="text-align:center" type="text" value="Enter Search..." />
</form>​​​​​​​​​​​​​

在提交处理程序上返回false将阻止表单提交,并且页面不会刷新,而且确实不需要jQuery来阻止表单!

要将表单发送到服务器并且没有页面刷新将需要使用Ajax,并且jQuery内置了一些很棒的ajax功能,但看起来你需要阅读{{{ 3}}