1

AJAXリクエストをphpファイルに送信するテキストボックスでkeyup()イベントを使用しています。入力は通常、中国語/韓国語/日本語のテキストです。問題は、これらの言語の IME がラテン語に基づいており、数字を入力すると文字に変換されることです。例えば、

ここに画像の説明を入力

ラテン語はテキストボックスにまったく表示されませんが、各文字は AJAX リクエストとして送信されるため、「見えない」か何かにある必要があります。たとえば、「ni hao」と入力すると、次のようなリクエストが送信されます。

  1. n
  2. NIH(アメリカ国立衛生研究所
  3. には
  4. ニハオ
  5. 你好

你好だけがテキストボックスに表示されますが。これにより、非常に多くの無駄な AJAX クエリが発生するため、クエリを漢字のみに制限するにはどうすればよいでしょうか?

4

1 に答える 1

2

これは本当に洗練されていませんが、最後に入力された文字の文字コードをチェックして、それが英字の文字コード (通常は 60 ~ 100) よりも大きいかどうかを確認できます。

 $('textarea').on('keyup',function(e) {
    var value = $(this).val(),
        length = value.length,
        lastChar = value.substring(length-1, length),
        charCode = lastChar.charCodeAt(0);

    if (charCode > 200) {
        // $.ajax()  
    }
});
于 2013-06-09T02:16:21.687 に答える