使用JQuery清除表单的所有内容

时间:2015-08-19 22:07:02

标签: javascript jquery forms

是否有方法使用JQuery清除表单的所有表单元素?

说我有一个如下表格:

SQL azure

我可以做类似下面的事情:

<form id="myForm">
    Name: <input type="text" name="name"/> <br/>
    Message: <input type="text" name="message"/>
    <input type="submit" value="Submit Form"/>
</form>

此方法清除每个表单元素,但是有一个更广泛的方法只清除整个表单的内容吗?有些伪像$(document).ready(function() { $('#myForm').submit(function(event) { event.preventDefault(); //ajax call here }).done(function() { $('input[name="name"]').val(""); $('input[name="message"]').val(""); }); }); ?如果只是这样,比清除元素1更容易/更短时间清除所有元素,清除元素2,......

4 个答案:

答案 0 :(得分:2)

我的第一个答案是给你的所有输入,textareas,无线电和复选框一个独特的类,如.clear-after,然后你只需要一行JS:

$('.clear-after').val('');

但是在查阅之后,有一些香草JS将会这样做:

document.getElementById("myForm").reset(); 

$("#myForm").reset();

答案 1 :(得分:2)

这是捕获无线电和复选框的另一种方式。

$('#myForm').find(':input').each(function() {
    switch (this.type) {
        case 'password':
        case 'select-multiple':
        case 'select-one':
        case 'text':
        case 'textarea':
            $(this).val('');
            break;
        case 'checkbox':
        case 'radio':
            this.checked = false;
    }
});

答案 2 :(得分:1)

这将在所有表单的文本输入字段上运行val("")

$('#myForm input[type="text"]').val("");

答案 3 :(得分:0)

您可以使用单个选择器将函数应用于表单中的所有输入:

$('#myForm input').val("");