Jeg ønsker at slette alle input- og tekstfelter i en formular. Det fungerer på følgende måde, når jeg bruger en indtastningsknap med klassen reset
:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Dette vil rydde alle felter på siden, ikke kun dem fra formularen. Hvordan ville min selector se ud for bare den formular, som selve reset-knappen bor i?
For jQuery 1.6+:
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.prop('checked', false)
.prop('selected', false);
For jQuery < 1.6:
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
Se venligst dette indlæg: https://stackoverflow.com/questions/680241/blank-out-a-form-with-jquery
Eller
$('#myform')[0].reset();
Som jQuery foreslår:
For at hente og ændre DOM-egenskaber som f.eks. formularelementers tilstand
checked
,selected
ellerdisabled
, skal du bruge metoden .prop().
Hvorfor skal det overhovedet gøres med JavaScript?
<form>
<!-- snip -->
<input type="reset" value="Reset"/>
</form>
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords
Prøvede den først, den vil ikke rydde felter med standardværdier.
Her's en måde at gøre det med jQuery, så:
$('.reset').on('click', function() {
$(this).closest('form').find('input[type=text], textarea').val('');
});