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

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

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

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

    2011-03-16 10:34

    最近在開發中遇到了表單提交前驗證的問題,用一個普通的button按鈕代替submit按鈕,
    在提交前觸發這個button的onclick事件,在其事件中觸發form的submit事件。問題出現了:
    以下是出現相關代碼:
    <form action="http://www.baidu.com/s?wd=this.form.submit%28%29%3B&cl=3" method="post" name="form1" onsubmit="return alert('已提交!'); return false;"> 
        <table align="center" width="420px" cellPadding="2" cellSpacing="1" bgcolor="#A4B6D7"    style="word-wrap:Break-word;">                
            <tr style="cursor: hand;background:#d7e3f6" > 
                <td width="20%" align="right">條型碼</td> 
                <td><input style="width:90%" type="text" name="GOODSNUM"   size="30"  maxlength="8" ></td> 
            </tr> 
            <tr> 
                <td align="center" colspan="2"> 
                    <input type="button" name="save" value="保存" onclick="if((confirm('確定要提交嗎?'))) this.form.submit();"/> 
                </td> 
            </tr>  
        </table> 
    </form> 


    卻發現并沒有觸發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'); //同上,
         PS:又學到了fireEvent這個方法,

    2.onsubmit()與submit() :

    <sCript>
    funCtion fun()
    {
       alert("form_submit");
    }
    </sCript>

    <form onsubmit="fun()">
    <input type="submit" id="aaa" value="submit">   <!--能彈出form_submit-->
    <input type="button" id="bbb" value="onCliCk_submit" onCliCk="doCument.forms[0].submit()">
    <!--
    表單會提交,但是不會運行fun() 原因是 onsubmit事件不能通過此種方式觸發(在IE環境)
    直接用腳本doCumetn.formName.submit()提交表單是不會觸發表單的onsubmit()事件的
    -->
        <input type="button" id="bb1" value="onCliCk_onsubmit" onCliCk="doCument.forms[0].onsubmit()">

    <!--會觸發fun()參數-->
    </form>

    posted on 2011-09-28 15:11 liujg 閱讀(346) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2011年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    boddiy

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲综合一区二区精品导航 | 国偷自产一区二区免费视频| 亚洲一区精彩视频| 亚洲AV日韩精品久久久久久久 | 最新亚洲精品国偷自产在线 | 久久国产精品国产自线拍免费| 国产精品成人亚洲| 亚洲熟妇无码AV不卡在线播放| 亚洲日本在线看片| 亚洲精品成人片在线观看精品字幕| 免费a级毛片永久免费| 成人超污免费网站在线看| 亚洲精品视频在线观看免费| 久久国产精品国产自线拍免费| 日韩成人毛片高清视频免费看| 亚洲AV成人无码网站| 亚洲欧美日韩国产精品一区| 亚洲天堂男人影院| 亚洲AV无码一区二区三区人| 亚洲香蕉免费有线视频| 亚洲一区二区三区电影| 久久精品国产亚洲| 亚洲成A人片777777| 国产亚洲AV无码AV男人的天堂| 久久久久亚洲av毛片大| 亚洲最大av无码网址| 亚洲精品成人a在线观看| 亚洲高清免费视频| 亚洲国产成人久久综合区| 亚洲 自拍 另类小说综合图区| 亚洲?v无码国产在丝袜线观看| 无码专区一va亚洲v专区在线 | 亚洲av无码专区国产不乱码| 亚洲国产av玩弄放荡人妇| 亚洲6080yy久久无码产自国产| 久久亚洲中文字幕无码| 人人爽人人爽人人片A免费| 精品97国产免费人成视频 | 亚洲精品乱码久久久久久不卡| 亚洲精品国产综合久久一线| 国产成人麻豆亚洲综合无码精品|