如何通过JavaScript重置(清除)表单?
我试过$("#client.frm").reset();
但它不工作。所以如何通过jQuery重置表单?
form.reset()
是一个DOM元素方法(不是jQuery对象上的一个方法),所以你需要:
$("#client.frm")[0].reset(); //faster version: $("#client")[0].reset();
或者没有jQuery:
document.getElementById("client").reset();
你可以简单地做:
$("#client.frm").trigger('reset')
纯JS解决scheme如下:
function clearForm(myFormElement) { var elements = myFormElement.elements; myFormElement.reset(); for(i=0; i<elements.length; i++) { field_type = elements[i].type.toLowerCase(); switch(field_type) { case "text": case "password": case "textarea": case "hidden": elements[i].value = ""; break; case "radio": case "checkbox": if (elements[i].checked) { elements[i].checked = false; } break; case "select-one": case "select-multi": elements[i].selectedIndex = -1; break; default: break; } } }
请注意,函数form.reset()
将不起作用,如果在窗体中的某些input标签有属性name='reset'
,reset()方法不会清除默认值和checkbox字段,还有更多的问题。
为了彻底复位检查下面的链接 –
http://www.javascript-coder.com/javascript-form/javascript-reset-form.htm
尝试这个 :
$('#resetBtn').on('click', function(e){ e.preventDefault(); $("#myform")[0].reset.click(); }
通过Javascript
和jQuery
重置(清除)表单:
示例Javascript:
document.getElementById("client").reset();
示例jQuery:
你可以尝试使用trigger()
引用链接
$('#client.frm').trigger("reset");
使用JavaScript函数reset()
:
document.forms["frm_id"].reset();
试试这个代码。 完整的答案
<!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function(){ $(":reset").css("background-color", "red"); }); </script> </head> <body> <form action=""> Name: <input type="text" name="user"><br> Password: <input type="password" name="password"><br> <button type="button">Useless Button</button> <input type="button" value="Another useless button"><br> <input type="reset" value="Reset"> <input type="submit" value="Submit"><br> </form> </body> </html>
清除表格如下
document.forms[0].reset();
您可以简单地清除组中的表单元素。 通过使用这种forms[0]
。