Javascript 提交前如何做某事?
我有一个表单,它有一个提交表单的按钮。我需要在事情发生之前做点什么。我试着在那个按钮上单击一下,但它发生在提交之后Javascript 提交前如何做某事?,javascript,jquery,html,Javascript,Jquery,Html,我有一个表单,它有一个提交表单的按钮。我需要在事情发生之前做点什么。我试着在那个按钮上单击一下,但它发生在提交之后 我无法共享代码,但一般来说,我应该在jQuery或JS中如何处理此问题?如果您有这样的表单: <form id="myform"> ... </form> 确保提交按钮不是“提交”类型,将其设置为按钮。然后使用onclick事件触发一些javascript。在那里,您可以在实际发布数据之前执行任何操作。假设您有这样一个表单: <form id="my
我无法共享代码,但一般来说,我应该在jQuery或JS中如何处理此问题?如果您有这样的表单:
<form id="myform">
...
</form>
确保提交按钮不是“提交”类型,将其设置为按钮。然后使用onclick事件触发一些javascript。在那里,您可以在实际发布数据之前执行任何操作。假设您有这样一个表单:
<form id="myForm" action="foo.php" method="post">
<input type="text" value="" />
<input type="submit" value="submit form" />
</form>
$('#myForm').submit(function() {
alert('Handler for .submit() called.');
return false;
});
<script type="text/javascript">
beforeSubmit = function(){
if (1 == 1){
//your before submit logic
}
$("#formid").submit();
}
</script>
<input type="button" value="Click" onclick="beforeSubmit();" />
如果您返回false
函数后将不会提交表单,如果您返回true或nothing,表单将照常提交
有关更多信息,请参阅。在提交表单之前,您可以使用
onclick
运行一些JavaScript或jQuery代码,如下所示:
<form id="myForm" action="foo.php" method="post">
<input type="text" value="" />
<input type="submit" value="submit form" />
</form>
$('#myForm').submit(function() {
alert('Handler for .submit() called.');
return false;
});
<script type="text/javascript">
beforeSubmit = function(){
if (1 == 1){
//your before submit logic
}
$("#formid").submit();
}
</script>
<input type="button" value="Click" onclick="beforeSubmit();" />
beforeSubmit=函数(){
如果(1==1){
//在提交逻辑之前提交您的
}
$(“#formid”).submit();
}
咳嗽cough@Brad克里斯蒂,要是我能接受这个评论作为回答就好了。谢谢,非常有帮助。我讨厌stackover结束一个问题。在提交表单之前,您可以使用以下在以下时间触发的事件来处理您的操作:1-onmouseover 2-onmousemove 3-onmousedown 4-onfocus 5-onmouseup 6-onclick 7-onsubmitI我很感激这个问题,因为我最近遇到了同样的问题,这个问题正是我想问的此问题之所以结束,是因为它不是一个真正的问题:-?但是,当表单包含输入字段时,如果用户按下了触发提交事件的返回键,则此问题不起作用。通常最好直接附加到submit事件,这样无论用户如何启动提交,都可以确保调用它。对于必须在提交之前完成的循环,我很难使用它。有什么建议吗?有代码要看吗?我不确定我是否理解这个问题。为什么要将它包装在一个空函数调用中?submit
函数不应该直接绑定到$(“#表单”)
而不使用周围的空函数吗?编辑:。@eykanal很好。在确认函数包装器在被删除后可以正常工作之后,我继续编辑答案以删除它。@eykanal我使用了“empty”函数调用,因为这是jQuery的$(document).ready()
函数的缩写,它确保在附加submit
事件之前DOM是完整的。如果您的JS位于页面底部,则不需要它,但如果它位于
部分,则您需要它。请参阅:表单可以通过多种方式提交,例如在某些字段中按enter键。绑定到一个可能未被单击的按钮上,这不是一个好主意。其他答案显示了如何绑定表单的onsubmit
,无论表单是如何提交的,都会触发。