2013-07-26 43 views
0

有一個在我的JSP頁面按退出鍵兩次清除表單字段

一個問題,當用戶填寫表單字段並按下退出鍵兩次,IE8會自動清除網頁上的所有他的文本字段。有沒有解決這個問題的方法?

或者一種方法來關閉這一切?

我用下面的代碼來禁用不解決「ESC」鍵,但問題,代碼是不能工作

if (key == 27) { 
cancelKey(event); 
return false;} 

function cancelKey(evt) { 
    if (evt.preventDefault) { 
    evt.preventDefault(); 
    return false; 
    } 
    else { 
    evt.keyCode = 0; 
    evt.returnValue = false; 
    } 
    } 

任何幫助將高度讚賞。

+0

試過全球'event'代替IE瀏覽器? – rps

回答

0

試試這個

<script type="text/javascript"> 

(function() /* Prevent Esc deleting imput and if input is readonly, stop backspace acting as 'Back' */ 
{ 
    var inps = document.getElementsByTagName('input'), /* Place BELOW all <input>s */ 
     field; 

    function ih(obj, evt, func) 
    { 
    obj.attachEvent ? obj.attachEvent('on' + evt, func) : obj.addEventListener(evt, func, false); 
    }  

    function k(e) 
    { 
    var evt = (e || window.event), 
     elem = evt.srcElement || evt.target, 
     ro = elem.getAttribute('readonly'); 

    if(evt.keyCode == 27 || (ro && evt.keyCode == 8)) 
     evt.preventDefault ? evt.preventDefault() : evt.returnValue = false; 
    }; 

    for(var i = 0; (field = inps[ i ]); i++) 
    ih(field, 'keydown', k);   
})() 

</script> 

它可以工作,也可能不會。很多東西[熱鍵]都無法防止。 來源:http://www.webdeveloper.com/forum/showthread.php?217535-esc-key-clears-html-input-text-values

+0

你自己寫了代碼嗎?如果不是,請提供參考! – jsalonen

+1

我正在編輯我的帖子,並在此期間你剛纔評論:) – Reddy

+0

如何使用此功能?我需要在某處提及嗎?因爲它沒有名字。 –

0

試試這個,

document.attachEvent('onkeydown', function() { 
    if (window.event.keyCode == 27) { 
      window.event.returnValue = false; 
     } 
});