Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-通过按ENTER键检测是否发送了表单_Javascript_Jquery_Ruby On Rails_Forms - Fatal编程技术网

Javascript jQuery-通过按ENTER键检测是否发送了表单

Javascript jQuery-通过按ENTER键检测是否发送了表单,javascript,jquery,ruby-on-rails,forms,Javascript,Jquery,Ruby On Rails,Forms,在将数据从表单发送到Rails控制器之前,我还需要做一些javascript工作 这是(简而言之)我的表格: 问题是当用户点击ENTER时,因为上面的javascript代码不会执行。我尝试添加以下内容: $(".search_users").keypress(function(ev){ if (ev.keyCode == 13) { console.log('xx'); //$("form")[0].submit(); } }); 但当用户点击ENTER,浏览器

在将数据从表单发送到Rails控制器之前,我还需要做一些javascript工作

这是(简而言之)我的表格:

问题是当用户点击
ENTER
时,因为上面的javascript代码不会执行。我尝试添加以下内容:

$(".search_users").keypress(function(ev){
   if (ev.keyCode == 13) {
    console.log('xx'); 
    //$("form")[0].submit();
   }
});
但当用户点击
ENTER
,浏览器立即将表单发送给控制器时,此代码段无法处理


如何处理用户在Javascript中按ENTER键时的情况?

我认为ENTER键会触发表单中的提交,请尝试以下操作:

$(".search_users").keypress(function(ev){
   if (ev.keyCode == 13) {
    ev.preventDefault();
    console.log('gotcha'); 
    //$("form")[0].submit();
   }
});
但您也可以使用标准按钮处理表单上的提交事件,进行处理,然后对(php?)处理页面进行ajax调用:

$(".search_users").on("submit", function(ev){
   ev.preventDefault(); //prevents the original submit

    //information processing ...

    //AJAX call to the form processing page ...

   }
});

我认为您需要对所有
进行循环。搜索用户输入
,然后添加按键事件。请看StopRopagation()我自己并不理解,但是我建议使用Ajax在成功函数中使用KEYPress函数。考虑使用它来代替表单的<代码> OnSputs<代码>事件,并根据它设置逻辑。
$(".search_users").keypress(function(ev){
   if (ev.keyCode == 13) {
    ev.preventDefault();
    console.log('gotcha'); 
    //$("form")[0].submit();
   }
});
$(".search_users").on("submit", function(ev){
   ev.preventDefault(); //prevents the original submit

    //information processing ...

    //AJAX call to the form processing page ...

   }
});