У меня есть функция jQuery ниже, которая вызывается, когда я нажимаю кнопку на своей странице. Эта кнопка должна сбросить форму и перезагрузить новую страницу.ошибка сброса формы через javascript или jquery
function Create(txt) {
if (txt="createUser") {
document.forms[0].reset();
$('#myform').each(function() {
this.reset();
});
$('input[name=method]').val(txt);
document.forms[0].submit();
}
}
Но по какой-то причине, он не идет к this.reset()
на всех, и я вижу все значения формы в моем классе действий. Как мне это решить?
Ниже приведено описание кнопки.
<input type="button" value="Create" class="btn" onclick="Create('createUser');">
редактировать: Хорошо, ребята .. я знаю, как тип входного = «сброс» работает и у меня есть другая кнопка в моей странице делать то же самое .. У меня есть создать пользовательскую форму, где я могу найти и увидеть существующий детали пользователя или заполнить форму и создать нового пользователя. если я ищу пользователя и затем создаю для создания другого пользователя, он отправляет новый запрос на сервер и перезагружает страницу .. но в классе действий .. бит не был сброшен .. и я получаю все значения на странице. поэтому ..i хочу сбросить форму ... без использования кнопки сброса ...
Я выбрал ответ Джона .. сделал небольшую модификацию, а ниже - последняя функция, которую я использовал.
function Create(txt){
if (txt="createUser"){
var $form = $('#myform');
$form.find(':input').not(':button,:submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected'); // Clear all inputs
$form.find('input[name=method]').val(txt);
$form.submit();
}
}
Можете ли вы показать остальную часть кода для своей формы? – talemyn
Кроме того, несколько вещей, которые нужно исправить в вашем коде: 1) изменить 'if (txt =" createUser ") {' to 'if (txt ===" createUser ") {', чтобы он фактически выполнял сравнение (не присваивая значение переменной 'txt'), 2) Способ, которым вы бы назвали' .reset() 'с jQuery, -' $ ('# myform') [0] .reset(); '. , , a) вы используете селектор 'id', поэтому будет возвращен только один элемент (нет необходимости в' .each() ') и b)' .reset() '- это метод JS, а не метод jQuery, поэтому вам нужно запустить его на ссылке DOM ('$ ('# myform') [0]'), а не объект jQuery, и 3) для jQuery, 'this' нужно отформатировать как:' $ (this) ' , – talemyn