Как очистить (сбросить) HTML-форму на jQuery?

Вопрос

У меня есть форма, в которой есть стандартная кнопка сброса (ресета), вот она:

<input type="reset" class="button standard" value="Очистить" />

Проблема заключается в том, что моя форма является многоэтапной, и если пользователь заполняет эту форму на некотором этапе, а затем возвращается назад, значения разных полей запоминаются, и кнопка сброса не очищает форму.

Я думаю, что можно с помощью jQuery пробежаться по всем полям формы и задать им значения по-умолчанию, «обратившись», так сказать, к каждому полю «лично», но мне почему-то кажется, что должен существовать какой-то более эффективный и менее избыточный метод.

Буду рад любым предложениям.


Ответ №1

Это должно сработать (‘myform’ - это ID Вашей формы):

$(':input','#myform')
 .not(':button, :submit, :reset, :hidden')
 .val('')
 .removeAttr('checked')
 .removeAttr('selected');

Пояснение. Используем селектор ‘:input’ для того, чтобы получить все INPUT-ы (поля ввода, кнопки, флажки, поля выбора и т.п.) из нашей формы (её ID мы передаём втором параметром: #myform). Дальше отсеиваем все кнопки, ресеты, скрытые поля ввода используя селектор .not(). Затем мы очищаем значение полей с помощью функции .val(), передав туда пустую строку. Также используем removeAttr(), чтобы убрать галочки с флажков (чекбоксов) и полей выбора (селектов).

13 комментария

  • sht.:

    Точно! гениально и просто, спасибо за идею (.not();)

  • skrabus:

    Спасибо, помогло.

  • Nik:

    из множества вариантов, выбрал этот. способ подошел идеально для моего случая. спасибо.

  • EZ-Web:

    ещё проще:
    $(‘#my_form_id» />’).trigger( ‘reset’ );

  • tpavelst:

    Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

    Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и получить за это деньги.

    Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

    достаточно просто зарегистрироваться на нашем сервисе. > http://www.like.zarplatt.ru <

  • Deloresgaw:

    Right here is an offer where you could get in to win an Apple Watch. This is mosting likely to be the base version one they distribute, the Apple WatchSport with a worth of $349! Terrific chance to win this before you can purchase it!

    Respond to the inquiry now for a possibility to win.
    Click here: http://bit.ly/2j2qhLq

  • tnikast:

    Пройдите 1 регистрацию, сделайте 2 действия
    и получайте от 8950 рублей каждые сутки в автоматическом режиме.

    Мы гарантируем:
    - Первый заработок в течении 60 минут.
    - Стабильный доход 24 часа в сутки.
    - Поступление денег без задержек.
    - Для России, стран СНГ и Европы.
    - Без вложений и установки ПО.
    - Специально для новичков и людей без опыта.

    Более подробная информация у нас на сайте. ( prosto.zarplatt.ru )

  • qnikast:

    Пройдите 1 регистрацию, сделайте 2 действия
    и получайте от 8950 рублей каждые сутки в автоматическом режиме.

    Мы гарантируем:
    - Первый заработок в течении 60 минут.
    - Стабильный доход 24 часа в сутки.
    - Поступление денег без задержек.
    - Для России, стран СНГ и Европы.
    - Без вложений и установки ПО.
    - Специально для новичков и людей без опыта.

    Ознакомтесь с условиями на нашем сайте. ( http://prosto.zarplatt.ru/ )

  • Williamdoorie:

    Hello.
    I need to contact admin.
    Thank you.

  • npavelst:

    Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

    Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

    Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

    достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <

    Вывод заработанных средств ежедневно в течении нескольких минут.

  • snikast:

    Пройдите 1 регистрацию, сделайте 2 действия
    и получайте от 8950 рублей каждые сутки в автоматическом режиме.

    Мы гарантируем:
    - Первый заработок в течении 60 минут.
    - Стабильный доход 24 часа в сутки.
    - Поступление денег без задержек.
    - Для России, стран СНГ и Европы.
    - Без вложений и установки ПО.
    - Специально для новичков и людей без опыта.

    Более подробная информация на нашем сайте. ( prosto.zarplatt.ru )

  • mpavelst:

    Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

    Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и получить за это деньги.

    Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

    достаточно просто зарегистрироваться на нашем сервисе. > like.zarplatt.ru <

    Вывод заработанных средств ежедневно в течении нескольких минут.

Добавить комментарий


(обязательно)