$(':input', '#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
<input type="button" onclick="$(':input','#myform').not(':button,:submit,:reset,:hidden').val('').removeAttr('checked').removeAttr('selected');" value="重置" />| 步驟 | 方法 | 說明 |
|---|---|---|
| 1 | (':input', '#myform') | 選取表單內所有輸入元素 |
| 2 | .not(':button, :submit, :reset, :hidden') | 排除按鈕、提交、重置、隱藏欄位 |
| 3 | .val('') | 清空輸入框、文字區域、下拉選單值 |
| 4 | .removeAttr('checked') | 取消核取方塊、單選按鈕選中狀態 |
| 5 | .removeAttr('selected') | 重置下拉選單預設選項 |
document.getElementById('myform').reset();
但原生 reset() 只能恢復至頁面載入時的初始值,無法清空使用者輸入後又透過程式動態設定的值。
type="button" 而非 type="reset"</form> 之外onclick="if(confirm('確定清空?')) { ... }"