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

首頁 > 語言 > JavaScript > 正文

不同瀏覽器對(duì)回車提交表單的處理辦法

2024-05-06 14:11:26
字體:
供稿:網(wǎng)友
條件是:
在IE和Firefox下
1、<form>屬性的“action”字段必填;
2、有一個(gè)type="submit"的“input”。
在Chrome和Safari下
滿足第一條即可。(注釋1)
  所以,如果要控制提交行為的話(比如,提交前檢查必填項(xiàng)是否已填),可以在type="submit"的“input”后添加Javascript“onXXX(比如onClick)”事件。而如果需要用異步交互來檢測(cè)相關(guān)字段,則無效了。因?yàn)閞eturn false是作為onreadystate=的子函數(shù),并不能控制全局。這時(shí)就需要用到<form>的“onsubmit”屬性(注釋2)。比如:
HTML
代碼如下:
<form name="form1" id="form1" action="act.php" method="post" onsubmit="myfn();return false;">

myfn()是自己定義的函數(shù):無論通過什么辦法(比如敲擊“enter”或點(diǎn)擊type="submit"(而不是type="button")的“input”按鈕)提交,都會(huì)觸發(fā)這個(gè)這個(gè)函數(shù)。于是,大可不必再在type="submit"的“input”后添加Javascript事件“onXXX”了。直接在“onsubmit”中控制,更直觀與統(tǒng)一,除非有意控制提交方式(是onClick還是什么)。
return false位于末尾,表示不提交本表單。提交表單的字句document.form1.submit()可以作為myfn()的一個(gè)選擇條件的分支。

總結(jié):
  這樣,<form>有“action”和“onsubmit”屬性,有type="submit"的“input”的提交按鈕后,就可以在任何瀏覽器下(不行嗎?請(qǐng)給我反饋)實(shí)現(xiàn)使用“Enter”鍵和鼠標(biāo)都可以對(duì)表單的相關(guān)字段進(jìn)行異步(Ajax)和同步(單純的Javascript)檢查并予以提交。
其他:
1、如果使用type="button"來異步檢測(cè)相關(guān)字段呢?
  這樣,這個(gè)“input”必須得有一個(gè)事件觸發(fā)器。在IE和FF下,無法直接在文本框中按下“Enter”來提交表單。如果要的話,需要使用額外的函數(shù)來監(jiān)聽用戶按下了什么,給出一個(gè)怎樣的反映(注釋3)。更糟糕的是,在Ch和Sa下,會(huì)忽略是否有type="submit"按鈕,而直接根據(jù)“action”屬性來提交表單,如此以來,便無法實(shí)現(xiàn)預(yù)期的檢測(cè),可能還有更麻煩的后果。
2、如果不寫“action”屬性,直接異步提交表單呢?
  這樣,通過異步的方式提交表單,而不僅僅是檢測(cè),這個(gè)屬性則沒有必要。而且還是多余。假如這樣能提供更好的用戶體驗(yàn),何樂而不為呢?呵呵。
【注釋】
1 在IE8,F(xiàn)F,Ch中測(cè)試有效。Opera和Sa沒有測(cè)試。
代碼如下:
chrome在表單中敲回車鍵會(huì)觸發(fā)提交表單
一個(gè)登錄口在IE、firefox下敲回車后用js通過ajax驗(yàn)證成功后進(jìn)行跳轉(zhuǎn),幾個(gè)輸入框?qū)懺诹艘粋€(gè)form中,當(dāng)用戶輸入用戶密碼后觸發(fā)ajax進(jìn)行判斷,此時(shí)IE和firefox都不會(huì)進(jìn)行進(jìn)行form的提交,且form中沒有submit.而chorm和safari都會(huì)把此時(shí)input所有的form進(jìn)行submit.

以后ajax的話,切記不要寫在form當(dāng)中.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 赤壁市| 尉氏县| 治多县| 抚松县| 长汀县| 古浪县| 巴彦淖尔市| 土默特左旗| 略阳县| 岱山县| 蓬安县| 岗巴县| 昌平区| 张北县| 宁河县| 屏东县| 华阴市| 林周县| 漯河市| 江源县| 马关县| 天峨县| 巴南区| 林口县| 麻江县| 丰镇市| 通山县| 无为县| 永州市| 兴义市| 犍为县| 老河口市| 杨浦区| 响水县| 宁武县| 无锡市| 通海县| 通州区| 吉木萨尔县| 鄂尔多斯市| 平阴县|