2016-12-29 1 views
0

Ich verwende den folgenden Code, um alle meine Werte auf einem bestimmten Formular zurückgesetzt.Klare Form mit jQuery

 $('#' + frm).closest('form').find("input[type=text], textarea").val(""); 
     $('#' + frm).closest('form').find("input[type=password]").val(""); 
     $('#' + frm).find('input[type=checkbox]:checked').removeAttr('checked'); 
     $('#' + frm + ' input[type="radio"]').prop('checked', false); 

Es funktioniert für 95% der Fälle in Ordnung, aber ich möchte alle Select-Box zurück zu dem ausgewählten Index von 0 zurückgesetzt Wenn es eine bessere oder effizienter ist, den gesamten Vorgang zu tun zurücksetzen Alle Elementtypen Ich bin offen für den besten Vorschlag. Ich muss das Formular zurücksetzen, da dasselbe Formular immer wieder von derselben Person verwendet wird, um einen Beschäftigungsverlauf hinzuzufügen.

Vielen Dank für die Eingabe

+6

'document.querySelector ("Form"). Reset()'? – epascarello

Antwort

1

könnten Sie verwenden Form reset() Method

Der Reset() -Methode setzt die Werte aller Elemente in einer Form (die gleiche wie die Reset-Taste zu klicken).

$('#' + frm).closest('form')[0].reset(); 
+0

Gibt es etwas Spezielles, das ich tun muss, wenn ich die Auswahlwerte erstelle, damit es auf 0 zurückgeht. Der Reset-Code funktioniert großartig für alles andere als die ausgewählten Werte – user1314159

+0

Ich habe , aber es wird nie auf den Standardwert oder den Index zurückgesetzt 0 – user1314159

+0

werfen Sie einen Blick auf diesen Thread http://StackOverflow.com/Questions/16913094/reset-Select-Value-to- Standard –

1

Sie können Ihre eigenen Reset-Form-Methode implementieren:

jQuery.fn.reset = function(fn) { 
    return fn ? this.bind("reset", fn) : this.trigger("reset"); 
}; 

Dies würde erlauben Sie einen Code auf eine Reset-Funktion zu befestigen:

jQuery("#form").reset(function(){ 
    /* some other code */ 
}); 

Sie können (Und immer noch dies ist die empfohlene Art und Weise, um die Dinge zu tun) verwenden Sie eine einfache HTML-Eingabe vom Typ Reset - es wird das gleiche auch auf Browsern, die JavaScript deaktiviert haben.