Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Передача в функцию переменного количества аргументов (https://javascript.ru/forum/dom-window/15156-peredacha-v-funkciyu-peremennogo-kolichestva-argumentov.html)

ksa 15.02.2011 14:05

Немного подкорректирую...

<html>
<head>
	<script language="JavaScript">
	function check() {
		field1 = document.getElementById( "field1" );
		if (field1.value == '') {
			alert('Не заполнено поле field1');
			return false;
		}
		return true;
	}
</script>
</head>
<body>
<form name="form1" onsubmit="return check();">
<input type="text" id="field1" /> <br />
<input type="text" id="field2" /> <br />
<input type="submit"/>
</form>
</body>
</html>


Иначе и форму не отправить... :)

Эдди 15.02.2011 14:29

Понятно, что есть в интернете куча решений. Но я просто хочу понять, что к чему. Потому сам изобретаю велосипед.

Вот здесь в чем ошибка, что поля очищаются?

function filled_form(current_form)
{
	for(var counter=0;counter<current_form.length;counter++)
	{
		if(!current_form[counter].value)
		{
			alert('Заполните обязательные поля!..');
			return;
		}
	}
}


Вызывается
<form name="my_form" onsubmit="filled_form(my_form)">

Kolyaj 15.02.2011 14:33

Эдди,
у вас страница перезагружается, а не поля очищаются.

Эдди 15.02.2011 14:35

Цитата:

Сообщение от Kolyaj (Сообщение 92594)
Эдди,
у вас страница перезагружается, а не поля очищаются.

Ну я и вижу. А почему?

Признаюсь честно. php моя стезя. javascript только по необходимости.
Хотя понял, что необходимость эта стала возникать все чаще.

walik 15.02.2011 14:38

<form name="my_form" onsubmit="*!*return*/!* filled_form(my_form)">


return добавьте перед именем функции.

alert('Заполните обязательные поля!..');
            return *!*false*/!*;


И false когда возвращаете.

Эдди 15.02.2011 14:43

[quote=walik;92597]
<form name="my_form" onsubmit="*!*return*/!* filled_form(my_form)">


Умирааааюююю... Идиотизм.

Ну с вашими ретурнами вообще копец.

Спасибо огроменное............:agree:

Кстати, я сделал по-другому. Правильно?
<form name="my_form" onsubmit="filled_form(my_form);return false">

ksa 15.02.2011 14:46

Цитата:

Сообщение от Эдди
А почему?

Потому как функция не останавливает передачу формы... См. мой вариант.
http://javascript.ru/forum/dom-windo...html#post92587

walik 15.02.2011 14:46

[quote=Эдди;92598]
Цитата:

Сообщение от walik (Сообщение 92597)
Кстати, я сделал по-другому. Правильно?
<form name="my_form" onsubmit="filled_form(my_form);return false">

Если не ошибаюсь, то в таком случае форма никогда не отправится.
Не зависимо что вернет функция: true или false

Эдди 15.02.2011 14:46

Спасибо всем большое. На phpclub с такими дебильными вопросами меня бы давно послали. Не говоря уже об обращениях на "Вы"...:)

Если позволите, тему позднее продолжу. Дальше будет проверка мейла и урла:)

ksa 15.02.2011 14:47

Цитата:

Сообщение от Эдди
Ну с вашими ретурнами вообще копец.

Не с нашими... А с вашими... :D


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