Θέλω να διαγράψω όλα τα πεδία εισόδου και τα πεδία περιοχής κειμένου σε μια φόρμα. Λειτουργεί ως εξής όταν χρησιμοποιώ ένα κουμπί εισόδου με την κλάση 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().
Αυτό δεν θα χειριστεί περιπτώσεις όπου τα πεδία εισόδου της φόρμας έχουν μη κενές προεπιλεγμένες τιμές.
Κάτι σαν
$('yourdiv').find('form')[0].reset();
Γιατί πρέπει να γίνει με οποιαδήποτε JavaScript;
<form>
<!-- snip -->
<input type="reset" value="Reset"/>
</form>
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('');
});