За последние 24 часа нас посетили 24400 программистов и 1726 роботов. Сейчас ищут 1878 программистов ...

Установить выпадающий список в начало (очистка полей формы)

Тема в разделе "JavaScript и AJAX", создана пользователем MaEcTPo, 4 июл 2008.

  1. MaEcTPo

    MaEcTPo Активный пользователь

    С нами с:
    4 июл 2008
    Сообщения:
    11
    Симпатии:
    0
    Задача в том, что бы при нажатии на радио буттон "No" очищалась форма.
    Для обычных, текстовых полей, сложности нет, там это выглядит вот так:
    [js]document.getElementById('co_registrant_first_name').value='';[/js]
    и действительно, эта форма очищается.
    Но когда таким же образом прописать форму селекта, то яваскрипт выдает ошибку
    [js]document.getElementById("co_registrant_country") has no properties[/js]
    и соответсвенно список остается на том же месте где и был.
     
  2. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    [js]document.getElementById("co_registrant_country").selectedIndex = 0;[/js]
     
  3. MaEcTPo

    MaEcTPo Активный пользователь

    С нами с:
    4 июл 2008
    Сообщения:
    11
    Симпатии:
    0
    Хм, всеравно не работает. если добавляю эту строчку - та же ошибка.
    Если пишу
    [js]alert(document.getElementById("co_registrant_country"));[/js]
    то выдает null.
    Если с тем же .selectedIndex то опять ошибка из первого поста. Где ошибаюсь?
     
  4. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    А у селекта id точно co_registrant_country?
    Наверняка в каком-то месте опечатка.
     
  5. MaEcTPo

    MaEcTPo Активный пользователь

    С нами с:
    4 июл 2008
    Сообщения:
    11
    Симпатии:
    0
    Понял ошибку.
    Теперь буду знать зачем поле id есть на ряду с name.
    В яваскрипте - чайник, т.к. до этого кодил исключительно под WAP, где ни о каком JS и речи не шло.
    Еще вопрос. FireBug выдает такое предуприждение
    [js]Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead.[/js]
    Как этого избавиться?
     
  6. Anonymous

    Anonymous Guest

    HTML:
    1. <input type="reset" value="No"/>
     
  7. MaEcTPo

    MaEcTPo Активный пользователь

    С нами с:
    4 июл 2008
    Сообщения:
    11
    Симпатии:
    0
    Горбунов Олег:
    Спасибо.
    Но не подходит, так как человек очищает форму сам того не зная, он просто радио буттоном скрывает для себя форму, а мне уже надо ее очистить., потому такой вариант увы...
     
  8. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    Поискать, на какую строку регается. Там, видимо, написано что-то вроде
    document.name.attr, где name - какой-либо элемент на странице.
    Переписать с использованием getElementById
     
  9. Anonymous

    Anonymous Guest

    HTML:
    1.     <form action="?" method="post">
    2.     <fieldset>
    3.         <legend>Тестовая форма</legend>
    4.         <input type="text" name="n1"/>
    5.         <input type="text" name="n2"/>
    6.         <input type="text" name="n3"/>
    7.         <input type="text" name="n4"/>
    8.         <input type="checkbox" value="1" checked="checked"/>
    9.         <button onclick="this.form.reset();">Очистить!</button>
    10.     </fieldset>
    11.     </form>
    12. </body>
    13. </html>