У меня есть форма, когда форма отправлена. Я назову одну функцию 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. 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);"
Если вы хотите только запустить another_script
если form_check
возвращает true
(и возвращает true, если оба form_check
и another_script
возвращают true
), вы можете сделать:
onsubmit="return form_check(this) && another_script(this);"
Тем не менее, слишком много кода в обработчике onsubmit
обычно обескураживается. Вы должны привязать обработчики событий после использования DOM или jQuery.
return (form_check(this) && another_script(this))
так как &&
является оператором короткого замыкания, он не будет выполнять another_script(this)
если from_check(this)
вернет true
another_script
всегда возвращает true. Он может вернуть undefined
что приведет к другому поведению. Я запомню это.
Это работает?
onsubmit="another_script(this); return form_check(this);"
конечно, всегда лучше использовать ненавязчивые обработчики событий.
onsubmit="return ((form_check(this) + another_script(this))===2);"
form_check
илиanother_script
?