0

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

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

还是一样的问题

4

6 回答 6

2

您需要将代码放入 jQuery就绪处理程序中。

<script>
$(function(){
  $("#myforms").submit(function() {
              return false;
        });
});
</script>
于 2012-07-09T02:15:22.537 回答
1

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

于 2012-07-09T02:13:47.100 回答
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 功能,但看起来您需要在jQuery 网站上阅读一些内容。

于 2012-07-09T02:47:29.490 回答
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>

小提琴

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

小提琴

于 2012-07-09T02:24:55.927 回答
0

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

只需摆脱<form>标签,而是使用:

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

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

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

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

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

于 2012-07-09T02:27:49.310 回答
0

你忘记了一些括号:

$("#myforms").submit(function() {
        return false;
  });
于 2012-07-09T02:14:05.610 回答