ФорумПрограммированиеJavaScript → Проверка формы на заполнение

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

  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz 3 мая 2010 г. 14:38

    Имеется форма
    <form action="#" name=order onsubmit=pr(order)>
    <input type=text name=name[]>
    <input type=text name=pre[]>
    <input type=submit name=add value=save>


    и javascript

    <script language="JavaScript">
    function pr(form)
    {
    if((form.name.value=="")||(form.pre.value==""))
    {
    alert("");
    return false;
    }
    else
    return true;
    }
    </script>

    Так вот этот javascript отказывается работать с этой формой! Потому что переменные которые я передаю в этой форме являются массивами. Если сделать просто <input type=text name=name><input type=text name=pre> , то всё прекрасно работает.
    Подскажите как научить javascript проверять такую форму?!
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 мая 2010 г. 16:09, спустя 1 час 30 минут 34 секунды

    Дать инпутам id и обращаться по ним. Это и семантически более верно.
    Спустя 203 сек.
    Хотя, можно и без id
    form.elements['name[]'].value прокатит
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 3 мая 2010 г. 16:15, спустя 5 минут 44 секунды

    Еще id будет быстрее выбираться
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz 3 мая 2010 г. 16:22, спустя 7 минут 19 секунд

    AlexB, в принципе заработало, НО есть большое НО! =)
    Я почему массивом передаю переменные…. потому что их несколько
    к примеру

    <form action="#" name=order onsubmit=pr(order)>
    <input type=text name=name[]>
    <input type=text name=name[]>
    <input type=text name=name[]>
    <input type=text name=pre[]>
    <input type=text name=pre[]>
    <input type=text name=pre[]>
    <input type=submit name=add value=save>
    </form>

    и вот для такого кода эта фишка (form.elements['name[]'].value) не прокатывает.
    Спустя 55 сек.
    Можете показать пример с id ?!
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 3 мая 2010 г. 16:26, спустя 4 минуты 13 секунд

    <input type=text id="name1" name=name[]>
    <input type=text id="name2" name=name[]>
    <input type=text id="name3" name=name[]>


    а выбирать по getElementById
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz 3 мая 2010 г. 16:33, спустя 6 минут 34 секунды

    adw0rd, подскажи как этот getElementById правильно в js функцию вписать
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 мая 2010 г. 16:35, спустя 1 минуту 55 секунд


    и вот для такого кода эта фишка (form.elements['name[]'].value) не прокатывает.
    Разумеется, она даже с точки зрения логики не может прокатить, ибо непонятно какой именно инпут проверять. Так что id без вариантов.
    Спустя 62 сек.

    adw0rd, подскажи как этот getElementById правильно в js функцию вписать
    Напрашивается ответ - руками. ))))))
  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz 3 мая 2010 г. 16:39, спустя 4 минуты 7 секунд

    AlexB, я понимаю, что руками )) но я в js вообще ничего не понимаю…
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 3 мая 2010 г. 18:25, спустя 1 час 46 минут 30 секунд

    Sin, юзай jquery.
    Я сам чистый жс тока по докам знаю. Но вроде так:
    form.getelementbyid('id1').value
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 3 мая 2010 г. 19:57, спустя 1 час 32 минуты 12 секунд


    form.getelementbyid
    Причем здесь form?
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 4 мая 2010 г. 11:05, спустя 15 часов 7 минут 55 секунд

    AlexB, ага. Ашипся)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!