Как добавить два значения "on submit =" в форму? - PullRequest
2 голосов
/ 24 июня 2010

Я пытаюсь проверить мою форму с помощью двух отдельных функций JavaScript:

<form onsubmit="return formCheck(this); return validate_dropdown();"  
      action="somepage.php" 
      method="post" 
      name="something">

Когда я добавляю только одно значение для отправки, каждая функция работает индивидуально, когда я добавляю две, работает только первая функция проверки, а не вторая. Что здесь не так?

Ответы [ 4 ]

4 голосов
/ 24 июня 2010

Удалить возврат из onsubmit и добавить их в функции:

onsubmit="return (formCheck(this) && validate_dropdown())"

2 голосов
/ 10 июля 2010
onsubmit="return (formCheck(this) && validate_dropdown())"
1 голос
/ 14 апреля 2011

У меня недостаточно репутации, чтобы голосовать "за" или "против", но я могу заверить вас, что при двух возвратах, например: return formCheck(this) && return validate_dropdown();, его нужно записать как return formCheck(this) && validate_dropdown();

...пропуская второе «возвращение».

Таким образом, ответы с наибольшим количеством голосов в этой теме на самом деле неверны, и ответ Анакса с 0 голосами (на момент написания) решил мою проблему.Другие выдавали ошибки скрипта в IE.

0 голосов
/ 10 июля 2010

Ваш код не будет работать, потому что, как только первая функция (formCheck) будет выполнена, он вернет значение, которое либо разрешит, либо запретит отправку формы.

Если у вас есть две или более функции, которые вы хотите использовать одновременно, вы можете либо объединить их результаты, либо написать новую функцию, которая, в свою очередь, запустит обе функции проверки и вернет результаты.

Метод А.

<form onsubmit="return (function1(this) && function2(this))">

Метод Б.

<script type="text/javascript">
function formValidation(myForm)
{
    var result =  function1(myForm);
    result = result && function2(myForm);
    return result;
}
</script>

<form onsubmit="return formValidation(this)">
...