forms没有行动,在哪里input不重新加载页面

我正在寻找最新的方式来创build一个没有提交button的HTML表单。 这本身是很容易的,但我也需要停止窗体重新加载时提交类似的事情完成(例如,在文本字段中按Enter )。

向表单中添加一个onsubmit处理程序(通过纯js​​或jquery $()。submit(fn)),除非满足特定条件,否则返回false。

除非你不希望表单提交,在这种情况下,为什么不在表单元素中省略“action”属性呢?

你需要包含action="javascript:void(0);" 以防止页面重新加载并保持HTML标准。

只需将此事件添加到您的文本字段。 它会阻止提交按下回车,你可以自由添加一个提交button或调用form.submit()根据需要:

 onKeyPress="if (event.which == 13) return false;" 

例如:

 <input id="txt" type="text" onKeyPress="if (event.which == 13) return false;"></input> 

当你按下一个表单的时候,表单的自然行为就是被冒用,为了阻止这种不自然的行为,你必须用jQuery来阻止它的提交(默认行为):

 $("#yourFormId").on("submit",function(event){event.preventDefault()}) 

一个主意:

 <form method="POST" action="javascript:void(0);" onSubmit="CheckPassword()"> <input id="pwset" type="text" size="20" name='pwuser'><br><br> <button type="button" onclick="CheckPassword()">Next</button> </form> 

 <script type="text/javascript"> $("#pwset").focus(); function CheckPassword() { inputtxt = $("#pwset").val(); //and now your code $("#div1").load("next.php #div2"); return false; } </script> 

解决的两个办法:

  1. 表单的动作值是“javascript:void(0);”。
  2. 为表单添加按键事件侦听器以防止提交。

第一个反应是最好的解决scheme:

向表单中添加一个onsubmit处理程序(通过纯js​​或jquery $()。submit(fn)),除非满足特定条件,否则返回false。

更具体的jQuery的:

 $('#your-form-id').submit(function(){return false;}); 

除非你不希望表单提交,在这种情况下,为什么不在表单元素中省略“action”属性呢?

编写Chrome扩展程序是您可以在其中提供用户input表单的示例,但不希望提交。 如果你使用action =“javascript:void(0);”,代码可能会工作,但是你会得到这个问题 ,你得到一个关于运行内联Javascript的错误。

如果您完全不采取行动,那么在编写Chrome扩展程序时,表单会重新加载,这在某些情况下也是不希望的。 或者,如果你有一个网页的某种embedded式计算器,用户将提供一些input,然后点击“计算”或类似的东西。