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>
解决的两个办法:
- 表单的动作值是“javascript:void(0);”。
- 为表单添加按键事件侦听器以防止提交。
第一个反应是最好的解决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,然后点击“计算”或类似的东西。