Помогите с простеньким яваскриптом

N
На сайте с 14.06.2004
Offline
107
460

На странице есть много форм


<form method="post">
<input type="text" name="text1"><input type="text" name="text2">
<input type="submit" value="Добавить">
</form>
..............
<form method="post">
<input type="text" name="text1" id="text1"><input type="text" name="text2" id="text2">
<input type="submit" value="Добавить" onclick="form_validate();">
</form>

Пишу скрпит:


function form_validate()
{
if( (document.getElementById('text1').value=='') || (document.etElementById('text2').value=='') )
{
alert("Ошибка");
return false;
}
}

Если не заполняю форму, то сообщение о ошибке не выводится. Как сделать правильно чтобы реагировала на ошибку?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

а сейчас не правильно обрабатывается?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
N
На сайте с 14.06.2004
Offline
107
#2

Нет когда ничего не вводишь сообщение об ошибке не появляется

ДУмаю здесь как-то надо имя формы привязать, но как? В ява скрипт не силен. Помогите

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#3

Пример формы:

<form name="form1" method="post" action="/register">

<input name="login" id="login" value="" type="text" alt="Введите имя пользователя!" src="^[a-zA-Z\d]{4,}$">

<input name="submit" type="submit" value="Отправить" onClick="return checkForm(form1);">
</form>

Функция проверки:

// Проверка форм на заполнение полей

function checkForm(obj) {
var element,pattern;
for (var i = 0; i < obj.elements.length; i++) { // пробегаемся по всем элементам формы
element = obj.elements;
// И только если есть чего говорить юзеру в случае ошибки
if (!element.getAttribute("alt")) continue;
if (pattern = element.getAttribute("src")) { // если задано регулярное выражения для проверки
pattern = new RegExp(pattern, "gm");
if (!pattern.test(element.value)) {
alert(element.getAttribute("alt"));
element.focus();
return false;
}
}
else {
if (element.value == "") { // иначе просто проверка что поле не пустое
alert(element.getAttribute("alt"));
element.focus();
return false;
}
}
}
return true;
}

Пример:

http://exfile.ru/register

SP
На сайте с 20.05.2008
Offline
56
#4

В onclick добавьте return:

return form_validate();
Делаю небольшие заказы на php, perl, js/ajax, delphi; парсеры, простые сайты с админкой, установка\настройка sape, wordpress и др. Мой Блог (http://www.seoproger.ru)
N
На сайте с 14.06.2004
Offline
107
#5

if( (document.getElementById('text1').value=='') || (document.etElementById('text2').value=='') )

На эту строкку ругается - Объект не поддерживает свойство или метод

SP
На сайте с 20.05.2008
Offline
56
#6
Nicca:
if( (document.getElementById('text1').value=='') || (document.etElementById('text2').value=='') )

На эту строкку ругается - Объект не поддерживает свойство или метод

Угу, точно, тут буква пропущена 'g' в "document.etElementById"

N
На сайте с 14.06.2004
Offline
107
#7

Вроде работает. Спасибо

Подскажите еще как аналогично сделать для радио-точки:

<input type="radio" name="vote">

Как сдеалть чтобы при выборе радио (свойство checked) точки ей присваивалось определенное значение?

[Удален]
#8
Nicca:
Как сдеалть чтобы при выборе радио (свойство checked) точки ей присваивалось определенное значение?

Как-то так:

if(document.getElementById('radio_tochka_01').checked=='true')
З
На сайте с 24.04.2008
Offline
54
#9

1. У каждой "радио" есть свойство value, которое передается формой. Например, <input type="radio" name="vote" value="123">

2. Проверку введенных данных формы лучше проверять через onsubmit, например <form method="post" onsubmit="return form_validate()"> (т.к. форму можно "сабмиттить" и без нажатия кнопки "Отправить", просто ENTER'ом)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий