如何在提交之前做点什么?

时间:2011-11-08 16:04:43

标签: javascript jquery html

我有一个表单,其中有一个提交表单的按钮。提交之前我需要做点什么。我尝试在该按钮上执行 onClick ,但它在提交后发生。

我无法共享代码,但一般来说,我应该在jQuery或JS中做些什么来处理这个问题?

4 个答案:

答案 0 :(得分:181)

如果您有这样的表格:

<form id="myform">
...
</form>

您可以在提交表单之前使用以下jQuery代码执行某些操作:

$('#myform').submit(function() {
    // DO STUFF...
    return true; // return false to cancel form action
});

答案 1 :(得分:17)

假设你有一个这样的表格:

<form id="myForm" action="foo.php" method="post">
   <input type="text" value="" />
   <input type="submit" value="submit form" />

</form>

您可以使用jQuery附加onsubmit - 事件:

$('#myForm').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});

如果您return false表单在该函数后不会被提交,如果您返回true或什么都没有,它将照常提交。

有关详细信息,请参阅jQuery documentation

答案 2 :(得分:7)

在提交表单之前,您可以使用onclick运行一些JavaScript或jQuery代码:

<script type="text/javascript">
    beforeSubmit = function(){
        if (1 == 1){
            //your before submit logic
        }        
        $("#formid").submit();            
    }
</script>
<input type="button" value="Click" onclick="beforeSubmit();" />

答案 3 :(得分:3)

确保提交按钮不是“提交”类型,将其设为按钮。然后使用onclick事件触发一些javascript。在您实际发布数据之前,您可以执行任何操作。