Валидация поля для отправки формы
Помогите пожалуйста разобраться. Есть поле input и есть кнопка.
В поле можно вводить только русские символы, если не русские - то выдается сообщение (это работает), если поле не заполнено и нажимается кнопка отправить выдается ошибка (это тоже работает), если же оно заполнено, то идет отправка формы (и это есть). Необходимо: сделать проверку уже введенных данных, если они соответствуют шаблону - тогда отправлять, если же нет, то выдавать сообщение. При проверке поля создаю булевскую переменную, если текст проходит валидацию, тогда - true, иначе - false. Как получить значение булевской переменной из функции namep(elementValue) в функцию tr (). Буду очень признателен за вашу помощь. <form id="form1" action="send_email.php" method="post" enctype="multipart/form-data"> <script> function namep(elementValue){ var emailPattern = /^[А-Яа-яё]{2,20}$/u; if (emailPattern.test(elementValue.value)) { pb.innerHTML = ""; var test = true; } else { pb.innerHTML = "Введите имя на русском языке"; var test = false; } } </script> <p class="type1"> <input name="name_" onkeyup="namep(this)" id="name_"/> Имя <div id="pb"></div> </p> <!-- ------------------------------------------------- --> <script> function tr () { var text=document.getElementById("name_"); if((!text.value)&&(test==false)) { alert('error'); } else { document.forms["form1"].submit(); } } </script> <p class="type1"> <input type="button" value="Загрузить" onClick="tr();"> </p> </form> |
// сделай глобальной. присвой значение атрибуту. да вообще, куча способов
Пожалуйста, отформатируйте свой код! [js] ... ваш код... [/js] |
Помогите пожалуйста разобраться. Есть поле input и есть кнопка.
В поле можно вводить только русские символы, если не русские - то выдается сообщение (это работает), если поле не заполнено и нажимается кнопка отправить выдается ошибка (это тоже работает), если же оно заполнено, то идет отправка формы (и это есть). Необходимо: сделать проверку уже введенных данных, если они соответствуют шаблону - тогда отправлять, если же нет, то выдавать сообщение. При проверке поля создаю булевскую переменную, если текст проходит валидацию, тогда - true, иначе - false. Как получить значение булевской переменной из функции namep(elementValue) в функцию tr (). Буду очень признателен за вашу помощь. <form id="form1" action="send_email.php" method="post" enctype="multipart/form-data"> <script> function namep(elementValue){ var emailPattern = /^[А-Яа-яё]{2,20}$/u; if (emailPattern.test(elementValue.value)) { pb.innerHTML = ""; var test = true; } else { pb.innerHTML = "Введите имя на русском языке"; var test = false; } } </script> <p class="type1"> <input name="name_" onkeyup="namep(this)" id="name_"/> Имя <div id="pb"></div> </p> <!-- ------------------------------------------------- --> <script> function tr () { var text=document.getElementById("name_"); if((!text.value)&&(test==false)) { alert('error'); } else { document.forms["form1"].submit(); } } </script> <p class="type1"> <input type="button" value="Загрузить" onClick="tr();"> </p> </form> |
Спасибо большое - разобрался:
|
Часовой пояс GMT +3, время: 21:00. |