Я пытался и пытался с этим и, кажется, никуда не денется, поэтому подумал, что я бы выпустить это там. У меня есть форма, заполненная данными, предоставленными пользователем, которые я до сих пор смог без проблем проверить с помощью js / jQuery перед отправкой в php для дальнейшей обработки. Я достигаю этого примерно так:
form.submit(function(){
if(validateUserName() & validateEmail1() & validateEmail2() & validatePass1() & validatePass2() & acceptTerms()){
return true;
} else {
return false;
}
});
Форма сама использует следующие атрибуты:
<form id="signup" action="registration.php" method="post">
Проблемная функция - acceptTerms()
, которая просто должна проверить, что установлен флажок, кажется, не работает должным образом (или, как и остальные функции проверки).
var termscons = $('input:checkbox[name=termscons]');
termscons.change(acceptTerms);
function acceptTerms(){
if($(termscons).is(':checked')) {
termsconsInfo.text("");
return true;
} else {
termsconsInfo.text("In order to join, you must accept these terms and conditions.");
return false;
}
}
Я интегрировал прослушиватель termscons.change
и termsconsInfo.text("");
, чтобы убедиться, что мои селекторы указывают на нужную вещь и что функция запускается правильно (что, по-видимому, происходит путем изменения termsconsInfo.text
, когда его состояние изменения). Однако, когда я пытаюсь отправить форму, она возвращает false, поскольку она не отправляется. Фактически он должен возвращать true и отправлять мою форму в мой php-скрипт.
Правильно ли я поступаю? Есть ли что-то, что я упускал при работе с флажком, в отличие от ввода текста?
Пожалуйста, извините за мое невежество, это все еще очень ново для меня.