JS表單驗證討論
無論在提交按鈕,即<input type="submit" onclick="return 函數名()">,
或者在form表單上,即<form onsubmite-"return 函數名()">
都能夠,驗證表單,然后提交
需要注意的事項有
1.
<form>中的name屬性,最好制定一下,
否則無法使用document.ID號定制,
但是可以使用document.getElementById(string id)獲取對象,
建議同時設置id與name為相同的名稱
2.
調用的時候,建議使用return 函數名()這樣的方法,否則可能無效
?P.S. 我使用了像<input type="submit" onclick="return false">
結果證實函數得到了運行,但是攔截表單提交失敗
3.
驗證函數中,建議明確返回bool值
4.
設置的函數名不要和JS的內置函數重名,否則會導致整個函數失效
P.S. 我就犯了這個錯誤,我定義了一個submit()函數
5. *****
即使設置了<form onsubmit="return false;">,或者等價的表達式
但是如果調用form.submit()函數,表單仍然會得到提交
換句話說,form.submit()具有強制提交表單的功能
6.
如果在JS中更改了form.action的值,則提交目標以JS設置的為標準
因為JS的設置永遠發生在HTML設置之后 即使是使用
<form onsubmit="this.action='test.html'" action="orin.html">
這樣的表示法
7.實驗發現無論是form的onsubmit還是submit按鈕的onclick
都不能丟掉"return",否則無論返回的值ture or false,表單數據都會提交出去