濮阳杆衣贸易有限公司

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

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

熱門標(biāo)簽:南昌市地圖標(biāo)注app 泰州泰興400電話 怎么申請 好操作的電話機器人廠家 南京新思維電話機器人 如何用中國地圖標(biāo)注數(shù)字點 地圖標(biāo)注市場怎么樣 百度地圖添加標(biāo)注圖標(biāo)樣式 聊城智能電銷機器人外呼 企業(yè)怎么在聯(lián)通申請400電話

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

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'/>不顯示輸入框,然后回車之后也不會提交。

補允:

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

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

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

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

辦法很簡單,我們上面舉的例子中已經(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();
return false;
}
}

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

您可能感興趣的文章:
  • js實現(xiàn)點擊圖片自動提交action的簡單方法
  • jsp中如何實現(xiàn)按下回車鍵自動提交表單
  • JS實現(xiàn)問卷星自動填問卷腳本并在兩秒自動提交功能

標(biāo)簽:吉林 烏蘭察布 白銀 自貢 銅川 臨汾 開封 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP中的FORM表單中只有一個input文本時,按回車鍵將會自動提交表單》,本文關(guān)鍵詞  JSP,中的,FORM,表單,中,只,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP中的FORM表單中只有一個input文本時,按回車鍵將會自動提交表單》相關(guān)的同類信息!
  • 本頁收集關(guān)于JSP中的FORM表單中只有一個input文本時,按回車鍵將會自動提交表單的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    屏东市| 游戏| 三明市| 罗甸县| 台东市| 河西区| 维西| 萨嘎县| 乐业县| 神农架林区| 安远县| 凤城市| 大荔县| 长沙市| 镇原县| 射阳县| 资中县| 萝北县| 长沙县| 宜川县| 赞皇县| 兴宁市| 额敏县| 蚌埠市| 定安县| 手机| 泽普县| 涿州市| 滦南县| 凤城市| 左权县| 依兰县| 新昌县| 河北省| 朔州市| 迁安市| 英超| 中山市| 荃湾区| 霸州市| 娄底市|