博主以前遇到這樣的問題,是由於代碼有錯,改正以後就正常了。html
但今天肯定代碼沒錯,仍然return false提交表單。jquery
總結網上各路大神的解釋:git
1.onsubmit的做用是防止form只有一個input時提交表單github
2.onsubmit的做用是先提交表單的動做再執行函數,最後不管函數返回正確與否都完成提交動做瀏覽器
具體真相讀者自行百度吧。我偏向2,但與我以前的狀況相悖,也不徹底肯定。dom
作法:函數
只能麻煩一點將input submit換成input button了。fun裏設置表單提交,不用多解釋了吧.net
可是,<button id="submit" onclick="check();">下一題</button>不管funciton裏怎麼寫代碼仍然提交code
表單,再次查詢得知button只有IE才默認是button,其餘瀏覽器和W3C規範都默認是submitorm
因此正確作法是:<button id="submit" type="button" onclick="check();">下一題</button>
但問題再次出現,form不提交了。再次查詢緣由,發現這篇博文遇到了一樣的問題。原文:
點擊提交按鈕出現確認提示,可是確認後就沒反應了
可是將button的type改成submit卻又能提交
因而上jQuery API查找緣由,看到如下這段文字頓時明白了:
Additional Notes:
Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit
, length
, or method
. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint.
大概意思是表單和其子元素不宜用一個表單的屬性的屬性做爲name或id的名稱,如submit, length, 和 method等,不然會產生衝突,名稱衝突可能就會致使這種狀況。
對號入座,我確實將button的id設置了submit,改後就行了