2012-04-11 12 views
1

私はHTMLフォームの入力ボックスとそのボックスのonKeyPressを持っています。 googleはそうです。しかし、Enterキーを押すと、ブラウザのアドレスバーにあるURLが変更され、リクエストはサーブレットに送信されません。これを避けるために何ができますか? HTMLファイル内入力ボックスのonKeyPress(html)ブラウザのアドレスバーにあるURLを変更せずにサーブレットを呼び出す

入力テキストボックス

<input type="text" id="query" name="query" size="45" onkeypress="searchKeyPress(event)"> 

SearchKeyPress(e)のcreateHttpRequestサーブレットSearchService呼び出すために使用され

function searchKeyPress(e) 
    { 
     if (typeof e == 'undefined' && window.event) { e = window.event; } 
     if (e.keyCode == 13) 
     { 
      createHttpRequest(); 
     } 
    } 

コード:デフォルトを防ぐために必要

var url="http://localhost:8080/final_project/SearchService?user_query="+getQueryString(); 

     request.onreadystatechange = handleSearchResult; 
     request.open("GET",url,true); 

     request.send(null); 

答えて

2
は、スクリプトを変更し

:この

onkeypress="return searchKeyPress(event)" 

if (e.keyCode == 13) 
{ 
    createHttpRequest(); 
    return false; 
} 

し、HTMLを、これは

+0

おかげで多くを提出されているフォームを防止します。これはうまくいきます。しかし、単にそれがどのようにこの方法で動作するのか説明できますか? – sonam

+0

'return false'はデフォルトのアクションが起こらないようにします - フォームの送信を停止します – ManseUK

+0

これはあなたの他の質問に対する答えです。 - 'return true'を' return false'に置き換えます。 – ManseUK

関連する問題