如何使用jQuery重置html表单中的字段值

时间:2013-12-13 12:15:21

标签: javascript jquery html

如果这些元素 <{1}}的一部分,如何使用jquery <INPUT>重置<TEXTAREA>click()值?

6 个答案:

答案 0 :(得分:3)

您可以使用defaultValue属性重置值,HTMLTextAreaElementHTMLInputElement都支持该属性,默认值是最初在创建这些对象的HTML中指定的值。

$('#reset').on('click', function() {
   $('input, textarea').val(function() {
       return this.defaultValue;
   });
});

如果您只想重置不属于表单元素的输入和textareas的值,可以使用.filter()方法:

$('#reset').on('click', function() {
   $('input, textarea').filter(function() {
       return !this.form;
   }).val(function() {
       return this.defaultValue;
   });
});

如果form属性为null,则输入/ textarea不是表单元素的后代。

http://jsfiddle.net/E2tbk/

答案 1 :(得分:1)

这有效:

var elements = $('input,textarea');
$('button').click(function () {
    elements.each(function () {
        if (!this.form) this.value = this.defaultValue;
    });
})

Fiddle

答案 2 :(得分:0)

此解决方案将初始值存储在元素的data-oldvalue属性中。单击“还原”按钮时,它会将值设置回初始值。

有些人指出你应该使用.html()来设置textarea的值。我试过这个,但是.val()没有设置值

$("input").each(function() {   
    $(this).attr("data-oldvalue", $(this).val());
});

$("textarea").each(function() {
    $(this).attr("data-oldvalue", $(this).html());
});


$("button").click(function() {

    console.log($(this).attr("data-oldvalue"));

    $("input").each(function() {   
        $(this).val($(this).attr("data-oldvalue"));     
    });

    $("textarea").each(function() {
        $(this).val($(this).attr("data-oldvalue"));    
    });

});

请参阅:http://jsfiddle.net/zvPK7/

答案 3 :(得分:0)

使用它:

document.getElementById('yourInputID').value = "";

答案 4 :(得分:0)

试试这个:

$('#click').on('click', function() {

    $("input[type='text'], textarea").val('');
});

答案 5 :(得分:-1)

试试这个...

$('#btnID').click(function(){
        $('#FormID')[0].reset();
});