Как очистить поля формы средствами jQuery?

Рейтинг: 1Ответов: 5Опубликовано: 26.04.2011

Есть страница в которой есть некоторое количество разных элементов. Надо их вернуть в первоначальное состояние (как при загрузке страницы). Некрасиво же делать так:

$('#name').val('');

для каждой формы? Есть варианты, как сделать это красивее?

Ответы

▲ 5Принят

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

▲ 9

Если есть форма:

<form id="myform">
...
</form>

то очистить ее можно средствами javascript:

document.getElementById('myform').reset();

либо jQuery:

$('#myform')[0].reset();

Дополнено из комментария.

Тогда как вариант

$(function () {
    $(набор_элементов).each(function () {
        $(this).data('defvalue', this.value);
    });
});

И потом вызывать

$(набор_элементов).each(function () {
    $(this).val($(this).data('defvalue'));
});
▲ 5
$("form#id_form").trigger('reset');
▲ 3

Попробуйте вот такой вариант:

<script>
    jQuery(document).ready(function() {
      $('input').val('');
    });
</script>
▲ 2

Как вариант - создайте список полей (и, возможно, значений по умолчанию, если не пустые), затем, при необходимости, устанавливайте для всех элементов в списке соответствующие значения... Например так, как предложил ling...