Как очистить все поля в html-содержимом переменной? (желательно с jQuery) - PullRequest
0 голосов
/ 30 августа 2011

Мне нужно сбросить все поля формы в содержимом HTML, которое я сохранил в переменной. Я искал в интернете и здесь тоже. Но ничего из того, что я нашел, еще не сработало. Он не будет успешным даже с самым простым методом для просто текстовых полей:

var content = $(this).prev('.listset').find('ol.multiple > li:last').html();
$(content).find('input[type=text]').val('');

У меня нет доступного идентификатора формы.

Ответы [ 4 ]

0 голосов
/ 30 августа 2011

Это немного догадка, так как я не знаю, как выглядит ваша разметка, но jQuery 'find' может не работать в зависимости от того, как структурирована строка html - посмотрите на этот вопрос -

Использование jQuery для поиска строки HTML

Вы можете попробовать пройтись по строке «content», затем обновить каждый элемент формы по отдельности и добавить их в соответствующий контейнер, например:

$(content).each(function () {
   if (this.nodeName == 'INPUT') $(this).val('');
   if (this.nodeName == 'SELECT') $(this).children('option').prop('selected','');
   $("#moveto").append(this);
});

Рабочая демонстрация - http://jsfiddle.net/vFMWD/5/

0 голосов
/ 30 августа 2011

Я нашел это:

Это должно сработать, если идентификатор вашей формы myform:

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

Он использует: входной селектор, который будет соответствовать всему вводу, textarea, выберите и кнопки элементов.Поскольку мы передаем #myform в качестве второго аргумента, он будет находить входные данные только внутри этого элемента формы.Затем он отфильтровывает все кнопки, отправляет, сбрасывает и скрывает вводы, используя not ().Затем он использует val (), чтобы установить значение оставшихся полей в пустую строку, а затем использует removeAttr, чтобы удалить отмеченный и выбранный атрибут полей в случае, если у вас есть какие-либо входы radio / checkbox / select.Тада.

здесь: Сброс многоступенчатой ​​формы с помощью jQuery

РЕДАКТИРОВАТЬ: из того же URL-адреса: если у вас есть значения по умолчанию на ваших флажках, а также используйте этот:

 // Use a whitelist of fields to minimize unintended side effects.
    $(':text, :password, :file, SELECT', '#myFormId').val('');  
    // De-select any checkboxes, radios and drop-down menus
    $(':input', '#myFormId').removeAttr('checked').removeAttr('selected');

это то, что вы искали?

0 голосов
/ 30 августа 2011

Если вы используете все текстовые поля:

for(c in document.getElementById('id_of_form').childNodes) {
    c.innerHTML = "";
}

Если вы используете несколько вещей, замените childNodes на getElementByTagName («имя тега») и отфильтруйте по типу.

0 голосов
/ 30 августа 2011

Использовать простой старый javascript:

document.forms['my_form_name'].reset()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...