工作中遇到復雜的表單,需要一次清空挺麻煩的,字段太多,不僅包含input,還有select,radio,checkbox
於是乎,想一次清空也挺麻煩的,所以整理代碼如下,供大家參考學習(本人也是菜鳥一枚,正在努力學習中......)
直接上jq代碼:
$(":input","#myForm")
.not(":button",":reset","hidden","submit")
.val("")
.removeAttr("checked")
.removeAttr("selected");
另外需要備注的是:
一、$(":input");//選擇的是所有元素,包括input,textarea,select,button
HTML代碼:
<form> <input type="button" value="Input Button"/> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
JQ代碼:
$(":input")
二、js清空表單數據的方式
遍歷頁面的元素
function ClearForm(id) { var objId = document.getElementById(id); if (objId == undefined) { return; } for (var i = 0; i < objId.elements.length; i++) { if (objId.elements[i].type == "text") { objId.elements[i].value = ""; } else if (objId.elements[i].type == "password") { objId.elements[i].value = ""; } else if (objId.elements[i].type == "radio") { objId.elements[i].checked = false; } else if (objId.elements[i].type == "checkbox") { objId.elements[i].checked = false; } else if (objId.elements[i].type == "select-one") { objId.elements[i].options[0].selected = true; } else if (objId.elements[i].type == "select-multiple") { for (var j = 0; j < objId.elements[i].options.length; j++) { objId.elements[i].options[j].selected = false; } } else if (objId.elements[i].type == "textarea") { objId.elements[i].value = ""; } //else if (objId.elements[i].type == "file") { // //objId.elements[i].select(); // //document.selection.clear(); // // for IE, Opera, Safari, Chrome // var file = objId.elements[i]; // if (file.outerHTML) { // file.outerHTML = file.outerHTML; // } else { // file.value = ""; // FF(包括3.5) // } //} } }
本人比較推薦第一種方式~