我遇到了日语问题。我有一个表单,允许用户可以搜索数据。当用户输入要搜索的字符串并按“Enter”键时,搜索功能将执行。我的代码是:
$('#formSearch input').keyup(function(event){
var key = event.charCode||event.keyCode||0;
if(key == 13){
$("#formSearch").submit();
}
});
但是当用户在平假名模式下输入日语时,编辑器会显示预测词。按“Enter”键,执行搜索功能。它不正确。任何人都可以告诉我如何解决这个问题。非常感谢你
答案 0 :(得分:2)
这是因为你正在听 Enter 键按下(键盘)。 您可能知道,在平假名模式下键入日语时,会在您键入时显示可能的汉字字符列表。 Enter 是用于确认汉字选择的键之一,因此大多数日本用户在搜索某些内容时最终会按 Enter 两次。您的脚本在第一次按下时执行,因此忽略第二次“提交”按下。
更好的选择是收听submit
事件而不是keyup
事件。在jQuery中,您可以使用.submit()
方法,如下所示:
$("#formSearch").submit(function() {
// Code to execute here
});
但是,在您的情况下,您似乎没有任何其他脚本可以执行,因此您可能根本不需要JavaScript。尝试不使用JavaScript的表单 - 如果您无法使用 Enter (英语或日语)提交,那么您的HTML可能存在问题,请使用您的表单代码更新您的问题。