Сброс вызова, но за пределами формы? - PullRequest
0 голосов
/ 13 ноября 2010

У меня есть куча входов, я хотел бы вызвать сброс, но все они находятся за пределами формы.Я попытался вызвать сброс на входе и textarea безуспешно.

Есть ли подобная функция, которую я могу использовать?

Ответы [ 3 ]

4 голосов
/ 13 ноября 2010

Имейте в виду, что форма RESET на самом деле не очищает все поля, она также сбрасывает значения формы по умолчанию и возвращает их к значениям по умолчанию, поэтому лучшим подходом может быть следующее:

$('#the_form').trigger('reset');

Возможно, другой подход:

// capture all existing values

var arr = [];

$(':input').each(function(i, e)
{
    arr.push($(e).val());
});

// custom function to reset all values to initially captured values

function my_reset()
{
    $(':input').each(function(i, e)
    {
        $(e).val(arr[i]);
    });
}

Вышеупомянутый подход слепо нацелен на все поля, если у вас есть способ лучше нацелиться на них, вы обязательно должны использовать то, что можете.

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

1 голос
/ 13 ноября 2010

Хотите сбросить или просто очистить входы?Сброс будет более сложным, но очистка в вашем случае это easy :

HTML:

  <input type="text"/>
  <textarea></textarea>
  <button id="resetBtn">Reset</button>

JS:

$("#resetBtn").click(function(){
  $("input, textarea").val("");
});
1 голос
/ 13 ноября 2010

Мой подход (второй - поместить их в форму ...) заключается в том, чтобы, onload, отобразить значения по умолчанию для каждого входного идентификатора или имени, а затем создать метод сброса, который просто повторяет эту коллекцию, получает по idустановить по умолчанию ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...