ETH官方钱包

創(chuàng)作內(nèi)容

1 GP

網(wǎng)頁按enter觸發(fā)submit事件

作者:怪鳥│2011-11-15 18:22:49│巴幣:2│人氣:2561
在網(wǎng)頁上,有時候我們會讓特定的<intpu type="text"/>在按下enter後觸發(fā)submit事件,但是如果form的action target和原本的不同時,直覺上會寫成

function Search(){
    if(e.keyCode==13){
        document.location.href ="newForm.htm?val=xxx";
    }
}
<intpu type="text" onkeypress="Search()"/>

但是,今天測試發(fā)現(xiàn),事情不是我想的那樣。經(jīng)過測試,瀏覽器會聰明的替<intpu type="text"/>加上onkeypress後submit的動做。所以不管我如何設定location.href,當javascript執(zhí)行到location.href時都會先觸發(fā)submi動做,取代location.href原本要做的事,造成回到原本action target指向的網(wǎng)頁,無法轉(zhuǎn)址到newForm.htm。也就是所謂的race condition。

解決辦法就是function要回傳false來停止submit事件。改寫成以下範例

function Search(e){
    e = e || window.event;  
    var keynum = e.keyCode || e.which;
    if(keynum === 13){
        document.location.href ="newForm.htm?val=xxx";
        return false;
    }
}

<intpu type="text" onkeypress="return Search(event)"/>
引用網(wǎng)址:http://www.jamesdambrosio.com/TrackBack.php?sn=1464676
All rights reserved. 版權(quán)所有,保留一切權(quán)利

相關(guān)創(chuàng)作

同標籤作品搜尋:javascript|HTML

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

1喜歡★stbird 可決定是否刪除您的留言,請勿發(fā)表違反站規(guī)文字。

前一篇:從陣列移除一個值(jav... 後一篇:ASP.NET中使用Sq...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網(wǎng)路標準,可能無法使用新的應用程式來呈現(xiàn)網(wǎng)站內(nèi)容,在瀏覽器支援度及網(wǎng)站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現(xiàn)和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業(yè)系統(tǒng)版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續(xù)經(jīng)營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】