如何在表单提交上触发两个函数?

时间:2013-10-01 20:36:16

标签: javascript jquery html

我提交表单时我会调用一个javascript函数并将其操作以形成处理程序。

<form action="subscribe.php" onsubmit="return form_check(this)" method="post">
<input type="text" value="">
<input type="submit" value="click">
</form>

一切正常,现在我想将相同的表单字段发送到另一个javascript函数,所以我尝试这样提交代码

    <form action="subscribe.php" 
onsubmit="return (form_check(this) & another_script(this))" method="post">

在onsubmit中添加了&amp; ,但单击该按钮时该功能未触发。我认为这是由于表单中的action="subscribe.php"

我想将表单值发送到另一个javascript函数。我怎么能做到这一点?

4 个答案:

答案 0 :(得分:1)

使用jQuery,您可以捕获表单提交。当用户尝试提交表单时,submit事件将发送到元素。

<强> HTML

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

<强>的jQuery

$("#myForm").submit(function(event){
  event.preventDefault();

  var this = something;

  myFunctionA(this);
  myFunctionB(this);
});

var myFunctionA = function(this){
  // Function operation
}

var myFunctionB = function(this){
  // Function operation
}

答案 1 :(得分:1)

根据你想要做的事情,有几个答案。

如果您只想运行这两个函数而不返回任何内容,您只需执行以下操作:

onsubmit="form_check(this); another_script(this);"

如果您希望始终运行another_script返回 form_check的值,您可以执行以下操作:

onsubmit="another_script(this); return form_check(this);"

如果您希望{em>仅运行another_script form_check返回true(如果form_checkanother_script都返回true返回true),你可以这样做:

onsubmit="return form_check(this) && another_script(this);"

但是,通常不鼓励在onsubmit处理程序中放置太多代码。您应该在使用DOM或jQuery之后绑定事件处理程序。

答案 2 :(得分:0)

这有用吗?

onsubmit="another_script(this); return form_check(this);"

当然,使用不显眼的事件处理程序总是更好。

答案 3 :(得分:0)

onsubmit="return ((form_check(this) + another_script(this))===2);"

Demo fiddle