<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 開發

    主站蜘蛛池模板: 久久精品亚洲中文字幕无码网站 | 激情亚洲一区国产精品| 久久综合亚洲色HEZYO社区| 久久亚洲国产视频| 亚洲国产成人久久三区| 亚洲欧美国产国产综合一区| 国产精品成人亚洲| 成人网站免费大全日韩国产| 国产精品免费一区二区三区四区| 国产成人精品一区二区三区免费| 日本免费网站视频www区| 天天摸天天碰成人免费视频| 国产成人高清精品免费软件| 亚洲乱亚洲乱妇无码麻豆| 亚洲日韩在线视频| 黄页免费视频播放在线播放| 97在线免费视频| 国产精品无码一二区免费| 久久久久久久综合日本亚洲| 中文字幕乱码亚洲精品一区| 理论亚洲区美一区二区三区| 一区二区免费电影| 全免费a级毛片免费**视频| 国产亚洲美女精品久久久久狼| 亚洲综合久久一本伊伊区| 一级特黄录像免费播放中文版| 97视频免费在线| 亚洲AV无码一区二区三区系列| 理论片在线观看免费| 毛片大全免费观看| 亚洲视频一区在线播放| 两个人看的www视频免费完整版| 热99re久久精品精品免费| 91亚洲导航深夜福利| 国内精品一级毛片免费看| 国产大片免费观看中文字幕| 亚洲中字慕日产2020| xxxxwww免费| 亚洲一区二区三区在线| 无码人妻精品中文字幕免费东京热| 亚洲精品成人无限看|