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:47

Цитата:

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

Нет. Не правильно...
Так форма вообще никогда не отправится.

Эдди 15.02.2011 14:48

Да. В моем случае форма не пойдет на сервер. Меняю на return функция.

ksa 15.02.2011 14:48

Цитата:

Сообщение от Эдди
Дальше будет проверка мейла и урла

Тут поиском ищи. Были темы...

Эдди 15.02.2011 14:52

Цитата:

Сообщение от ksa (Сообщение 92605)
Тут поиском ищи. Были темы...

Да 100% были. Вот даже в топ 10 функций есть подобное тому,что выше. Даже красиво.
http://ir2.ru/javascript10.aspx

Попытаюсь поиском. Если нет, то уж не обессудьте, вас побеспокою.

Спасибо.

Эдди 15.02.2011 15:39

Окончательный вариант (без вас бы не справился):
function filled_form(current_form)
{
	for(var i=0;i<current_form.length;i++)
	{
		for(var j=1;j<arguments.length;j++)
		{
			if(current_form[i].name!=arguments[j].name)
			{
				if(!current_form[i].value)
				{
					alert('Заполните все обязательные поля!..');
					return false;
				}
			}
		}
	}
}


Вызов <form name="my_form" onsubmit="return filled_form(my_form,address), где со второго аргумента идут исключения (необязательные поля)

Переходим к проверке мейла:)

ksa 15.02.2011 16:03

Цитата:

Сообщение от Эдди
Переходим к проверке мейла

Читай...

Эдди 15.02.2011 16:13

Цитата:

Сообщение от ksa (Сообщение 92615)

Тем и занимаюсь.
Только вот это, без регулярных выражений, не извращение?:-E
function check_mail(value)
{
valid_chars  ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
valid_chars += "1234567890"; 
valid_chars += "-@_."; 
str=document.form[0].email.value; 
valid_string = true; 
    for(i=0; i < str.length; i++ ) 
     { 
       current_valid_char = false; 
       for(j=0; j < valid_chars.length; j++) 
         { 
           if(str.charAt(i) == valid_chars.charAt(j)) 
             { 
               current_valid_char = true; 
             } 
         } 
       if(current_valid_char == false) 
         { 
          valid_string = false; 
         } 
     } 
     return valid_string; 
   } 
else 
{ 
    return false; 
}


Лучше так или с рег?

B~Vladi 15.02.2011 16:28

Цитата:

Сообщение от Эдди
не извращение?

Извращение.

ksa 15.02.2011 16:28

Цитата:

Сообщение от Эдди
не извращение?

Оно. :D

Эдди 15.02.2011 16:41

Цитата:

Сообщение от ksa (Сообщение 92620)
Оно. :D

А строку регулярного выражения (кстати, я твою тоже нашел на этом форуме) свежую можно привести? Или посоветуешь изучить сначала досконально все, и самому сделать?

Это свежо? (твоя,между прочим)
^[-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\.)+[a-z]{2,6}$


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