Сброс формы не работает с помощью jquery

Я хочу сбросить форму после вызова функции ajax. Это код, который я дал в jQuery:

$("#frm_silder").reset();

здесь frm_silder - это идентификатор формы. Но когда я использую этот код, я получаю сообщение eorror, подобное этому.

$("#frm_silder").reset is not a function

в моем html я даю идентификатор для такой формы:

<form name="frm_silder" id="frm_silder" method="post">

так в чем проблема в моем коде?

3 ответов


в jQuery

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

в Javascript

document.getElementById('frm_silder').reset()

вам нужно сбросить каждый элемент по отдельности. Jquery не имеет функции reset() это работает на форме. reset() - Это функция Javascript, которая работает только с элементами формы. Однако вы можете определить новую функцию jquery reset() который перебирает все элементы формы и вызывает javascript reset() на каждом из них.

$(document).ready(function(){
    $('a').click(function(){
        $('#reset').reset();
    });
});

 // we define a function reset
jQuery.fn.reset = function () {
  $(this).each (function() { this.reset(); });
}

демо

кроме того, если вы не хотите определять функцию, вы можете выполнить итерацию через элементы вида

$(document).ready(function() {
    $('a').click(function() {
        $('#reset').each(function() {
            this.reset();
        });
    });
});

демо

источник


я следовал решению, данному @sameera. Но это все равно бросает мне ошибку.

Я изменил сброс на следующее

$("form#frm_silder")[0].reset();

затем он работал нормально.