|
Передача в функцию переменного количества аргументов
Подскажите, пожалуйста.
Количество аргументов, которые надо передать в функцию, изначально неизвестно. В php передаешь массив, и дело с концом. Как в js это сделать, ума не приложу. ПРИМЕР. Функция проверки полей формы на заполненность. Хочу передать в функцию поля, коорые проверять не нужно. В разных случаях количество этих полей разное. help:) |
Если я правильно понял то:
function myFunc(a, b, c, d) { alert(arguments.length); } myFunc(1, 2, 3); С помощью arguments.length узнаешь сколько аргументов ей было передано и выполняешь необходимые действия. |
Цитата:
function foo(obj) { alert((obj['width'])+' '+ (obj['height'])); } var obj = new Object(); obj['width'] = 100; obj['height'] = 120; foo(obj); |
Цитата:
http://javascript.ru/arguments |
ksa Букварь прочитан. Ответ не найден.
walik И сколько мне указывать аргументов в функции? Можно, конечно, с запасом написать 100 аргументов. Но криво это будет. Неправильно. kadabrik А как на странице я буду вызывать скрипт. К примеру, если я хочу исключить поля с названиями subject и text? Как потом аргументы обработать понятно. Вопрос, как передать туда аргументы...:blink: |
Цитата:
|
НУ перечту сейчас еще раз внимательнее...
ПРИНОШУ СВОИ ГЛУБОЧАЙШИЕ ИЗВИНЕНИЯ... С этим все ясно. Вообще в функции не ставлю ни одного аргумента, а передаю, сколько захочу. Попутный вопрос (уж извините новичка), чтобы не плодить темы. Функция проверяет поля формы на заполненность. Если поле не заполнено, alert выводит оповещение. Нажимаю ОК, в форме поля очищаются. Как этого избежать? |
Цитата:
|
Цитата:
|
<html> <head> <script language="JavaScript"> function check() { field1 = document.getElementById( "field1" ); if (field1.value == '') alert('Не заполнено поле field1'); } </script> </head> <body> <form name="form1" onsubmit="check(); return false;"> <input type="text" id="field1" /> <br /> <input type="text" id="field2" /> <br /> <input type="submit"/> </form> </body> </html> Вот появляется alert сообщение, поля не очищаются, в чем проблема ? |
Часовой пояс GMT +3, время: 21:16. |
|