繁体   English   中英

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

[英]How to trigger two function on form submit?

表单提交时我有一个表单我将调用一个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">

添加 in onsubmit但单击按钮时该功能不会触发。 我认为这是由于表单中的action="subscribe.php"

我想将表单值发送到另一个javascript函数。 我怎么能实现这个目标?

使用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
}

根据你想要做的事情,有一些答案。

如果你想简单地运行两个函数而不返回任何东西,你可以简单地做:

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

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

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

如果你想form_check返回true运行another_script (如果form_checkanother_script都返回true则返回true ),你可以这样做:

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

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

这有用吗?

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

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

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

演示小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM