1

テキストボックスとボタンがあります

<div class="TextField Large">
    <input type="text" name="q" id="SearchBox" />
</div>
<div style="height: 40px; text-align: right; position: absolute; top: 0px; right: 0px;">
    <input type="button" value="Search" class="Button" onclick="Search()" />
</div>

基本的に、テキストボックスにテキストを入力し、[検索]ボタンをクリックするとJavaScript関数Search()が呼び出されます。

ユーザーがテキストを入力してキーボードの「Enter」を押すと、検索が実行される可能性を追加するにはどうすればよいですか?

4

4 に答える 4

2

最初に:フォームを追加します(これには、JavaScriptが実行するものすべてに対してサーバー側のフォールバックが必要です)。

2番目:ボタンを送信ボタンに変更します。

3番目:JavaScriptをボタンのクライアントイベントではなく、フォームの送信イベントに移動します。

于 2012-04-16T11:32:46.643 に答える
1
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function Search(){
    alert("search!");
    //search logic
    return false;
}
</script>
</head>
<body>
    <form onsubmit="return Search()">
        <input type="text" name="q" />
        <input type="submit" value="Search" />
    </form>
</body>
</html>

それで全部です

于 2012-04-16T11:40:43.950 に答える
1

入力がフォームにある場合、Enterは自動的にフォームを送信する必要があります。

そうでなければ:

$('your form').keyup(function(e) {
  if(e.which == 13) $(this).submit();
});

ボタンをtype="submit"に変更することをお勧めしますが、その入力機能が自動的に機能するようにするには、送信イベントハンドラーでSearch()コードを実行します

$('your form').submit(function() {
  // your search code
}
于 2012-04-16T11:33:36.030 に答える
0
$('#textbox').keypress(function(event){
   var keycode = (event.keyCode ? event.keyCode : event.which);
   if(keycode == '13'){
      alert('You pressed a "enter" key in textbox');    
   }
});

うまくいけば、これはあなたを助けるでしょう..

于 2014-07-18T17:13:14.107 に答える