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按键(keyup)。您可能知道,在平假名模式下输入日语时,您输入时会出现一个可能的汉字字符列表。Enter是用于确认汉字选择的键之一,因此大多数日本用户Enter在搜索某些内容时最终会按两次。您的脚本在第一次按下时执行,因此第二次“提交”按下被忽略。

更好的选择是监听submit事件而不是keyup事件。在 jQuery 中,您可以使用如下.submit()方法:

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

但是,在您的情况下,您似乎没有任何其他脚本要执行,所以也许您根本不需要 JavaScript。尝试不使用 JavaScript 的表单 - 如果您无法使用Enter(英语或日语)提交,您的 HTML 可能有问题,因此请使用表单代码更新您的问题。

于 2012-12-24T00:39:53.067 回答