问题描述
我需要清空所有值,所有复选框和所有选中的项目(将值重置为) 除了具有type =“ hidden”属性的输入。
<form id="formname">
<input type="text" value="1232423"/>
<input type="password" value="abcdefgh"/>
<input type="file"/>
<textarea>some inputed text</textarea>
<input type="checkBox" checked="checked" />
<select>
<option>a</option>
<option selected="selected">b</option>
<option>c</option>
</select>
<input type="hidden" value="storeddata1"/>
<input type="hidden" value="storeddata2"/>
<input type="hidden" value="storeddata3"/>
</form>
解决方法
尝试一下(https://codepen.io/AlibiGhazi/pen/XWddyPR)
$(':input','#formname')
.not(':hidden')
.val('')
.prop('checked',false)
.prop('selected',false);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formname">
<input type="text" value="1232423"/>
<input type="password" value="abcdefgh"/>
<input type="file"/>
<textarea>some inputed text</textarea>
<input type="checkbox" checked="checked" />
<select>
<option>a</option>
<option selected="selected">b</option>
<option>c</option>
</select>
<input type="hidden" value="storeddata1"/>
<input type="hidden" value="storeddata2"/>
<input type="hidden" value="storeddata3"/>
</form>
,
您还可以使用form.reset()。在表单元素上调用此方法时,会将其所有子级重置为具有赋予这些子级的初始值。