如何在表单提交时触发两个功能

How to trigger two function on form submit?

本文关键字:两个 功能 表单提交      更新时间:2023-09-26

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

添加了 &在提交中,但单击按钮时不会触发该功能。我认为这是由于表格中的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 的值,你可以这样做:

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);"

演示小提琴