隨筆-193  評論-715  文章-1  trackbacks-0
          本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com )。
          未經許可的轉載,本人保留一切法律權益。
          一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。


          今天同事一大早問我一個他覺得比較奇怪的問題:form的onsubmit屬性中的方法在提交時為什么沒反應?經過了解發現狀況如下:
          他寫的頁面中form有onsubmit屬性,并指定了一個javascript函數,期望form在提交前執行這個函數,以處理一些檢查等動作,但form的提交并不是像我們通常使用的input:submit這樣的button去做的,而是用一個普通input:button,在onclick屬性中指定了一個javascript函數,在這個函數里面再執行form的submit()函數。
          示意代碼如下:
          <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
          <HTML>
          <HEAD>
          ????
          <script?language="javascript">
          ????????
          function?t(){
          ????????????
          var?f=document.getElementById("f");
          ????????????f.submit();
          ????????????alert('
          333');
          ????????}

          ????
          </script>
          </HEAD>
          ????
          <BODY>
          <form?id="f"?onsubmit="alert('2222');">
          ????
          <input?type="button"?value="button"?onclick="t();"/>
          </form>
          </BODY>
          </HTML>
          此時,頁面彈出了“333”的提示,但沒有彈出“2222”的提示。

          分析了一下原因:onsubmit屬性的觸發時機是在form用input:submit這樣的button提交時才會觸發,否則不會觸發。
          后來,在官方文檔上也找到了如下說明,證明了我的這一分析,如下:
          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.

          為了證實這一分析,我做了一個完整的測試:
          <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
          <HTML>
          <HEAD>
          ????
          <script?language="javascript">
          ????????
          function?t(){
          ????????????
          var?f=document.getElementById("f");
          ????????????f.submit();
          ????????????alert('
          333');
          ????????}

          ????
          </script>
          </HEAD>
          ????
          <BODY>
          <form?id="f"?onsubmit="alert('2222');">
          ????
          <input?type="submit"?value="submit"?/>?
          ????
          <input?type="button"?value="button"?onclick="t();"/>
          </form>
          </BODY>
          </HTML>
          點擊submit按鈕即可出現“2222”提示,點擊button的話,會出現“333”提示。
          posted on 2008-10-24 11:33 Robin's Programming World 閱讀(5526) 評論(14)  編輯  收藏 所屬分類: 其它

          評論:
          # re: 關于HTML中onSubmit屬性的觸發時機 2008-10-24 20:58 | 007
          sb....  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機[未登錄] 2008-10-24 21:03 | ssh
          你前面那短話,真讓人惡心,幾篇破文章就這,謙虛一點好吧。能看你的文章是看的起你,不行了就洗洗睡覺。  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2008-10-25 11:35 | akuli
          看到你第一段話,以為有多高深的東西,結果讓人非常失望!!!
          別人覺得你的文章好才會轉載,既然你不想讓人轉載就不要放到網上來!!!  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機[未登錄] 2008-10-25 18:43 | hi
          情況確實如此,要解決這個問題可以模擬submit事件。
          在Brocade腳本庫里有實現,調用Form.submit(form)方法。
          http://brocade.sf.net  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2008-10-25 19:12 | CowNew開源團隊
          “能看你的文章是看的起你”
          流氓,暴民  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2008-10-25 21:36 | Robin's Java World
          @CowNew開源團隊
          像這種人最有效的辦法就是不理他,對沒素質的人不理會。  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2008-10-25 21:36 | Robin's Java World
          @hi
          Brocade是個不錯的東東,謝謝推薦!  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2008-10-27 11:32 | temper
          @ssh
          這也太無恥了吧?我真懷疑哪個公司敢用有這種思想的人。  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機[未登錄] 2009-03-23 11:29 |
          @akuli
          支持!
          博主請三思!  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機[未登錄] 2009-08-16 17:30 | 哈哈
          真惡心,我還以為嘍豬有什么高見,一看原來是當寶貝的垃圾!!  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2009-09-07 12:43 | niba
          真惡心,我還以為嘍豬有什么高見,一看原來是當寶貝的垃圾!!  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2011-08-01 19:07 | tt
          艸 ,怎么沒說怎么解決的方法  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機 2012-08-18 22:34 | zzz
          說的挺好。。  回復  更多評論
            
          # re: 關于HTML中onSubmit屬性的觸發時機[未登錄] 2013-02-06 12:21 | aa
          說了半天, 還不是沒解決問題么? 以為您有多牛逼。  回復  更多評論
            
          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(49)

          隨筆分類(215)

          隨筆檔案(181)

          相冊

          收藏夾

          Friend Links

          • Tiger的Blog,專注于過程改進,項目管理,質量管理三個方向。
          • zrfunds

          搜索

          •  

          積分與排名

          • 積分 - 755568
          • 排名 - 60

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 政和县| 云阳县| 乌拉特前旗| 盐亭县| 宝山区| 商城县| 鄂托克前旗| 保山市| 乌苏市| 舒城县| 浏阳市| 辽宁省| 祥云县| 军事| 抚州市| 北碚区| 陈巴尔虎旗| 铅山县| 皮山县| 德阳市| 阿克陶县| 彰化县| 旅游| 康定县| 延长县| 石阡县| 丹江口市| 洪湖市| 仪征市| 平阴县| 秦安县| 鹤庆县| 牙克石市| 孙吴县| 疏勒县| 泰来县| 仁化县| 宁晋县| 太湖县| 江口县| 湘西|