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

首頁 > 編程 > JSP > 正文

JSP中的FORM表單中只有一個input文本時,按回車鍵將會自動提交表單

2024-09-05 00:22:49
字體:
來源:轉載
供稿:網友

一個列表界面只有一個輸入框查詢條件,當首次進入在輸入框中輸入漢字后,按回車鍵發現輸入框中漢字變成亂碼!本以為一個很簡單不過的問題,結果卻花了好久才找到原因(據說是瀏覽器問題),按回車后執行了兩次查詢。

1、未修改前代碼:

<form id="ff" name="ff" method="post">   <input type="text" id="userName" name="userName" size="12" maxlength='30' value="${(data.userName)!''}" onKeypress= "javascript:if(event.keyCode==13) do_postAuditList_search();"/> </form> 

2、修改后代碼:

<form id="ff" name="ff" method="post">   <input type="text" id="userName" name="userName" size="12" maxlength='30' value="${(data.userName)!''}" onKeypress= "javascript:if(event.keyCode==13) do_postAuditList_search();"/>  <!--解決form表單在只有一個input輸入框時回車會自動提交表單-->  <input style='display:none' /> </form>

即:添加一個<input type='text' style='display:none'/>不顯示輸入框,然后回車之后也不會提交。

補允:

出現自動提交的情況,有兩種可能:

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

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

我們對于第一種情況一般都知道而且很容易理解,但是對于第二種瀏覽器的默認行為,可能知道這一點的人就比較少了,下面我具體看一下瀏覽器(至少ie如此)在表單提交上的默認行為。
如果表單中含有一個單行文本輸入域,那么無論含有多少其他類型的表單組件,那么在該輸入域中點擊Enter時,表單會自動提交。例如下面的代碼:

<form action="" method="post"><input type="text" name="sdfsdf"/><textarea></textarea><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>

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

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

還有一個方法可以綁定button按鈕 enter觸發事件:

document.onkeypress = function(){if(event.keyCode == 13) {search();return false;}}

其中search方法是onclick事件:<form name="searchfrom">


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浙江省| 涪陵区| 台山市| 称多县| 上饶县| 烟台市| 黄骅市| 蓬安县| 鞍山市| 秭归县| 丰原市| 乌审旗| 三河市| 洛浦县| 佛坪县| 延安市| 芜湖市| 海兴县| 扶绥县| 泰州市| 长春市| 墨竹工卡县| 剑河县| 化德县| 肇州县| 崇仁县| 揭东县| 梁河县| 丽江市| 石景山区| 内乡县| 中方县| 保靖县| 汶上县| 定州市| 两当县| 东辽县| 淳安县| 淅川县| 扶绥县| 梁山县|