Καθαρισμός πεδίων φόρμας με jQuery

Θέλω να διαγράψω όλα τα πεδία εισόδου και τα πεδία περιοχής κειμένου σε μια φόρμα. Λειτουργεί ως εξής όταν χρησιμοποιώ ένα κουμπί εισόδου με την κλάση reset:

$(".reset").bind("click", function() {
  $("input[type=text], textarea").val("");
});

Αυτό θα καθαρίσει όλα τα πεδία στη σελίδα, όχι μόνο αυτά της φόρμας. Πώς θα έμοιαζε ο επιλογέας μου μόνο για τη φόρμα στην οποία ζει το πραγματικό κουμπί επαναφοράς;

Για jQuery 1.6+:

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

Για jQuery < 1.6:

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

Παρακαλούμε δείτε αυτή τη δημοσίευση: https://stackoverflow.com/questions/680241/blank-out-a-form-with-jquery

Ή

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

Όπως προτείνει η jQuery attr:

Για να ανακτήσετε και να αλλάξετε τις ιδιότητες DOM, όπως η κατάσταση checked, selected ή disabled των στοιχείων φόρμας, χρησιμοποιήστε τη μέθοδο .prop().

Σχόλια (16)

Αυτό δεν θα χειριστεί περιπτώσεις όπου τα πεδία εισόδου της φόρμας έχουν μη κενές προεπιλεγμένες τιμές.

Κάτι σαν

$('yourdiv').find('form')[0].reset();
Σχόλια (1)

Γιατί πρέπει να γίνει με οποιαδήποτε JavaScript;



    <input type="reset" value="Reset"/>

http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords


Δοκίμασα πρώτα αυτό, δεν θα καθαρίσει πεδία με προεπιλεγμένες τιμές.

Εδώ'είναι ένας τρόπος για να το κάνετε με jQuery, τότε:

$('.reset').on('click', function() {
    $(this).closest('form').find('input[type=text], textarea').val('');
});
Σχόλια (4)