国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

禁止按回車鍵提交表單的方法

2019-11-20 12:17:25
字體:
供稿:網(wǎng)友

出現(xiàn)自動提交的情況,有兩種可能:

一是編寫了javascript代碼,當(dāng)用戶點按Enter鍵時,通過js事件偵聽機制觸發(fā)表單的提交。

二是利用了瀏覽器的默認行為(至少發(fā)現(xiàn)ie是這樣的)。瀏覽器在解析網(wǎng)頁的時候,有許多默認的行為,例如如果一個頁面上有表單和一個提交按鈕,那么打開頁面時,焦點會自動落在這個提交按鈕上面。同樣如果一個表單中只有一個單行文本輸入域(text),那么在這個輸入域中按Enter鍵時,瀏覽器會自動提交該表單。

我們對于第一種情況一般都知道而且很容易理解,但是對于第二種瀏覽器的默認行為,可能知道這一點的人就比較少了,下面我具體看一下瀏覽器(至少ie如此)在表單提交上的默認行為。

如果表單中含有一個單行文本輸入域,那么無論含有多少其他類型的表單組件,那么在該輸入域中點擊Enter時,表單會自動提交。

例如下面的代碼:

<form action="" method="post"><input type="text" name="sdfsdf"/><input type="checkbox">sdfsdf<input type="hidden"name="aa"/></form>

如果表單中含有兩個或多個單行文本輸入域,那么無論是否含有其他類型的表單組件,按Enter鍵時不會自動提交,例如:

<form action="" method="post"<input type="text"name="sdfsdf"/<input type="text"name="sddf"/</form

辦法很簡單,我們上面舉的例子中已經(jīng)有了,只要再添加一個文本輸入框就可以了,可能你會說,為了不自動提交就要增加一個沒有用的輸入框,而且中含有兩個輸入框最終用戶會接受嗎?其實可以解決,你可以將那個新添加的輸入框通過style隱藏即可,例如:

<form action="" method="post"<input type="text" name="notautosubmit"style="display:none"/<input type="text"name="username"/</form

還有一個方法可以綁定button按鈕 enter觸發(fā)事件:
document.onkeypress = function(){
if(event.keyCode == 13) {search();returnfalse;}}其中search方法是onclick事件:<form name="searchfrom"

最終解決方案:

<script language="javascript">   function defineSubmit(btn)   {     if("submit1" == btn.value)     {       document.testForm.action="firstAction";     }     else     {       document.testForm.action="secondAction";     }          document.testForm.submit();   } </script> <form name="testForm" method="post">     username:<input type="text" name="username"/>     password:<input type="password" name="password"/>     <input type="button" name="submitName" onclick="defineSubmit(this)" value="submit1"/>     <input type="button" name="submitName" onclick="defineSubmit(this)" value="submit2"/> </form> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇平县| 永年县| 清涧县| 荃湾区| 原阳县| 郯城县| 射阳县| 神农架林区| 山东| 大宁县| 囊谦县| 汾西县| 图们市| 海南省| 海南省| 东莞市| 类乌齐县| 南开区| 万全县| 阿克陶县| 新兴县| 安泽县| 兴宁市| 乐平市| 大同县| 剑河县| 镇宁| 阿荣旗| 雷州市| 平原县| 镇康县| 上思县| 青铜峡市| 宣汉县| 黄平县| 新田县| 嵊州市| 遂溪县| 搜索| 和林格尔县| 常熟市|