<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 星期五 閱讀(596) 評論(0)  編輯  收藏 所屬分類: web 開發

    主站蜘蛛池模板: 亚洲一区二区三区免费在线观看| 久久影院亚洲一区| 亚洲日韩乱码中文无码蜜桃| 在线观看免费黄网站| 亚洲精品无码久久久久去q| jizz中国免费| 亚洲国产成人高清在线观看 | 亚洲中文字幕一二三四区苍井空| 久久一本岛在免费线观看2020| 国产AV无码专区亚洲AV男同| 中文字幕免费不卡二区| 亚洲伊人久久大香线蕉苏妲己| 最近高清中文字幕无吗免费看| 亚洲欧洲另类春色校园网站| 最近中文字幕mv手机免费高清| 亚洲乱码无人区卡1卡2卡3| 又黄又爽无遮挡免费视频| 全黄A免费一级毛片| 亚洲欧洲精品无码AV| 99精品视频免费在线观看| 国产成人精品日本亚洲18图| 日韩精品无码人妻免费视频| 一区二区三区在线免费| 亚洲成在人天堂一区二区| 美女视频黄的全免费视频网站| 国产亚洲女在线线精品| 亚洲日本va中文字幕久久| 18未年禁止免费观看| 久久综合亚洲色hezyo| 亚洲人成无码网站| 18勿入网站免费永久| 偷自拍亚洲视频在线观看99| 亚洲国产一成人久久精品| 四虎最新永久免费视频| 婷婷国产偷v国产偷v亚洲| 亚洲va中文字幕无码久久 | 一级毛片视频免费| 久久精品国产亚洲AV香蕉| 暖暖免费高清日本中文| a毛看片免费观看视频| 亚洲日韩中文字幕无码一区|