表單Form的submit事件不回應_HTML/Xhtml_網頁製作

WBOY
發布: 2016-05-16 16:45:49
原創
1570 人瀏覽過

一、問題描述
當用JS呼叫form的方法submit直接提交form的時候,submit事件不回應。為什麼?知道的請回覆。類比一下,我用input.select()做了測試,卻能回應select事件。這個原因先放一邊,我們來看看先怎麼把眼下的問題解決了。
不回應事件的程式碼範例:



實際運行,不會有alert出來。
雖然用submit方法來提交表單有違Unobtrustive Javascript的原則,但有時候不得不用,比如做搜尋提示(auto-complete)選中Item之後就需要用JS來提交搜尋表單。 二、問題分析

既然本身不回應事件,那隻有手動觸發這些事件了,確定手動觸發方案之前先回顧一下事件的註冊方式:
「原始」的註冊方式有兩種,看程式碼範例:




這樣的註冊事件,會為form增加了一個方法onsubmit。所以,可以透過直接執行這個方法,等於手動觸發了事件。 看程式碼範例:


這樣可以得到一個alert。 但是在現今「先進」的DOM2標準註冊方式以及IE的註冊方式attachEvent已經很常用。這些註冊方式,onsubmit方法是不存在的,如果使用form.onsubmit()會直接報錯。

三、解決方案 當然「先進」的註冊方式本身也提供了手工觸發事件的解決方案,只是要針對DOM2標準和IE寫不同的程序,另外這個程序,對「原始」的註冊方式也一樣有效。請看程式碼範例:


四、程式碼總結
這裡不再對各細節方法做說明,不熟悉的朋友請自行查閱相關資料。我們把整個程式碼串起來:




submit






鏁村€嬭窇涓嬩締鏈夊€嬪皬鍟忛
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!