2

私は日本語の問題に直面しています。ユーザーがデータを検索できるフォームがあります。ユーザーが検索する文字列を入力して「Enter」キーを押すと、検索機能が実行されます。私のコードは次のとおりです。

$('#formSearch input').keyup(function(event){
    var key = event.charCode||event.keyCode||0;
    if(key == 13){
         $("#formSearch").submit();
    }
});

ただし、ユーザーがひらがなモードで日本語を入力すると、エディターに予測語が表示されます。「Enter」を押すと検索機能が実行されます。修正されません。誰でもこの問題を解決する方法を教えてくれます。ありがとうございます

4

1 に答える 1

2

これは、キーのEnter押下(キーアップ)をリッスンしているためです。ご存知かもしれませんが、ひらがなモードで日本語を入力すると、入力時に可能な漢字のリストが表示されます。は漢字の選択を確認するために使用されるキーの1つであるため、ほとんどの日本人ユーザーは、何かを検索するときに2回Enter押すことになります。Enterスクリプトは最初のプレスで実行されるため、2回目の「送信」プレスは無視されます。

submitより良い代替策は、イベントの代わりにイベントをリッスンすることですkeyup.submit()jQueryでは、次のようなメソッドを使用できます。

$("#formSearch").submit(function() {
  // Code to execute here
});

ただし、あなたの場合、実行するスクリプトがこれ以上ないように思われるため、JavaScriptはまったく必要ないかもしれません。JavaScriptを使用せずにフォームを試してください—(英語または日本語で)フォームを送信できない場合はEnter、HTMLに問題がある可能性があるため、フォームのコードで質問を更新してください。

于 2012-12-24T00:39:53.067 に答える