使用jQuery重置/清除表单

时间:2013-11-15 19:36:00

标签: javascript jquery html5

尝试通过按钮点击提交后清除表单。 'clear form'jQuery在我测试的另一个项目中工作,但由于某种原因它不能在这里工作。 .validateEngine.LocalStorage.save函数都可以正常运行。任何见解将不胜感激。

function clicked (e) 
{
  if (confirm('Are you sure you want to submit?')) 
    {
       if ($("#formID").validationEngine('validate'))
       {
           my.LocalStorage.save();

        //clear form
            var $form = $("#form");
            $form.find('input:text, input:password, input:file, select, textarea').val('');
            $form.find('input:radio, input:checkbox')
            .removeAttr('checked').removeAttr('selected');

   }
}   
e.preventDefault();  
}

HTML

<form id="formID" name="myForm">    

 <input class="validate[required]" type="text" id="agree" name="agree"/>         
 <button type="submit" value="Save" id="Save" onclick="clicked(event);">Submit Survey</button>

</form>

2 个答案:

答案 0 :(得分:4)

您的表单ID错误。变化:

var $form = $("#form");

为:

var $form = $("#formID");

另外,为了保存两次选择相同的表单,将变量声明移动到if(confirm(...){内的第一行是有意义的,如下所示:

function clicked (e) {
    if (confirm('Are you sure you want to submit?')) {
        var $form = $("#formID");                
        if ($form.validationEngine('validate')) {
            my.LocalStorage.save();    
            //clear form
            $form.find('input:text, input:password, input:file, select, textarea').val('');
            $form.find('input:radio, input:checkbox')
                 .removeAttr('checked').removeAttr('selected');
        }
    }   
    e.preventDefault();  
}

答案 1 :(得分:0)

致电$("#formID").reset(); 这是jquery中的标准调用,用于重置表单。