1. 程式人生 > >[轉]submit()和onsubmit()的區別

[轉]submit()和onsubmit()的區別

卻發現並沒有觸發form的onsubmit方法,而是直接提交了。奇怪了,難道沒有這種方式無法結合form的onsubmit方法嗎?
仔細想了想,既然this.form表示form這個物件,那麼肯定能獲取到form的屬性和方法的
,就改成this.form.onsubmit();  成功!
我又查了查手冊,原來submit的方法是這樣解釋的:
  The submit method does not invoke the onsubmit event handler. Call the onsubmit event handler directly. When using Microsoft® Internet Explorer 5.5 and later, you can call the fireEvent method with a value of onsubmit in the sEvent parameter.

意思是說submit這個方法是不觸發onsubmit時間的,如果想要觸發它,需要呼叫
fireEvent方法。嘗試一下:this.form.fireEvent('onsubmit');哈哈,果然也成功!不過這樣不是多此一舉嗎?呵呵!

就這個小問題也搞了我將近一個小時,不過為了以後不為這個問題煩惱,這也是值得的。
this.form.submit(); //直接提交表單
this.form.onsubmit(); //呼叫form的onsubmit方法
this.form.fireEvent('onsubmit'); //同上,