<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    道非道 非常道

    勤思、謹言、慎行、厚積、薄發

    統計

    web

    天圓

    經濟 政治 軍事

    鍵康

    [ 轉 ] form的onsubmit屬性

    form的onsubmit屬性

    在對一個表單(form)進行客戶端檢驗的時候,我們已經習慣了<form onsubmit=”return check()”>這樣的形式,如果表單沒有通過驗證,在check函數中return false就會阻止表單的提交了。

    然而,如果要動態地為一個表單添加驗證,即HTML代碼中沒有寫onsubmit,而在頁面加載后用javascript給這個form加一個handler,問題就來了。

    假設我們已經得到了表單的DOM節點,保存在變量form中,一般這樣來給它加上handler:

    if (form.addEventListener) {
    form.addEventListener(”submit”, check, false);
    } else if (form.attachEvent) {
    form.attachEvent(”onsubmit”, check);

    但是這個check函數現在應該怎么寫呢?驗證失敗時,僅僅寫一個”return false;”在Firefox中是不能阻止表單的提交的(在IE中可以),這就是為什么大家在onsubmit屬性中要寫”return check()”,而不僅僅是”check()”。

    請看ECMAScript Language Binding,其中明確地寫著,event listener沒有返回值。其實一切的根本都因為IE不支持DOM Level 2,大家都習慣了IE的return false,到了Firefox中也只是一個ugly的變通,而很少去注意正確的做法。

    下面是一個可以被動態地attach(見上面的代碼)的check函數:

    function check() {
    if (e && e.preventDefault) e.preventDefault();
    return false;
    }

    在IE和Firefox中,它都可以被動態掛載為onsubmit的handler而且正常工作。

    萬惡的IE!

    posted on 2008-12-03 10:56 星期五 閱讀(595) 評論(0)  編輯  收藏 所屬分類: web 開發

    主站蜘蛛池模板: 亚洲中文字幕无码爆乳av中文| 亚洲大片在线观看| 亚洲国产精品无码av| 亚洲色偷偷偷综合网| 国产午夜无码精品免费看| 四虎永久免费网站免费观看| 亚洲国产综合精品| 最近免费中文字幕mv在线电影 | 女人18毛片免费观看| 亚洲国产天堂久久综合网站| 好猛好深好爽好硬免费视频| 亚洲AV之男人的天堂| 蜜芽亚洲av无码一区二区三区 | 亚洲人成人一区二区三区| 免费人成视频在线播放| 免费人妻av无码专区| 国产精品亚洲色图| 四虎影院永久免费观看| 久久久久久AV无码免费网站| 老司机亚洲精品影院| 中文字幕影片免费在线观看| 亚洲精品在线免费看| 免费国产成人高清在线观看网站| 亚洲av永久无码嘿嘿嘿| 日韩国产免费一区二区三区| 国产va免费精品| 亚洲va无码va在线va天堂| 亚洲精品免费视频| 2022免费国产精品福利在线| 亚洲愉拍一区二区三区| 97se亚洲综合在线| 免费黄色网址入口| 污视频网站免费观看| 亚洲人成人网毛片在线播放| 小小影视日本动漫观看免费| 国产免费黄色无码视频| 国产精品亚洲va在线观看| 国产精品亚洲片在线va| 亚洲综合亚洲综合网成人| 成人免费视频国产| 成人在线视频免费|