Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Валидация поля для отправки формы (https://javascript.ru/forum/css-html/19068-validaciya-polya-dlya-otpravki-formy.html)

shkarbatov 25.07.2011 13:22

Валидация поля для отправки формы
 
Помогите пожалуйста разобраться. Есть поле 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>

melky 25.07.2011 13:52

// сделай глобальной. присвой значение атрибуту. да вообще, куча способов

Пожалуйста, отформатируйте свой код!

[js]
... ваш код...
[/js]

shkarbatov 25.07.2011 13:54

Помогите пожалуйста разобраться. Есть поле 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>

shkarbatov 25.07.2011 14:07

Спасибо большое - разобрался:


Часовой пояс GMT +3, время: 14:04.