Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交前如何做某事?_Javascript_Jquery_Html - Fatal编程技术网

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
,无论表单是如何提交的,都会触发。