2011-08-09 11 views
0

這看起來很簡單,但我無法讓它工作。問題捕捉在javascript中輸入擊鍵

我想趕上一個輸入擊鍵,並運行一些代碼,但是當我按下輸入,頁面刷新並沒有任何反應。

,這裏是我的腳本

function GetChar(event) { 
    var keyCode = ('which' in event) ? event.which : event.keyCode; 
    if (keyCode == '13') { 
     var cQuery = document.getElementById('searchfield').value; 
     var cURL = 'ProductGrid.aspx?Query=' + escape(cQuery); 
     document.location = cURL; 
    }; 

wheni按下回車鍵刷新頁面,搜索字段將被清除,但它並沒有if塊

+0

我看到你的函數,但是這個函數被調用的時候並不清楚。什麼是上下文? – kinakuta

+0

該函數正在使用onkeydown在文本框中調用。我試圖在if語句提醒keycode var值之前添加一個提醒,它確認它正在被調用,並且按下enter鍵導致keycode爲13 – KristianMedK

回答

1

如果您searchfield是一個形式裏面,這種形式被提交,從而導致你的代碼不運行。

您可以刪除表格,只需使用輸入字段,或者你必須停止使用服用點這樣的形式提交:

<form onSubmit="this.preventDefault&&this.preventDefault();this.returnValue=false;return false;"> 
+0

的工作方式類似於魅力,謝謝 – KristianMedK

0

返回false從你的函數可以完成這項工作。