当用户使用jquery在输入框中输入(使用键盘)时,如何调用ajax()

当用户使用jquery在输入框中输入(使用键盘)时,如何调用ajax(),jquery,ajax,Jquery,Ajax,当用户在没有页面加载的情况下输入输入框时,我尝试调用ajax(),但当用户在输入框上输入时,它调用这个ajax方法。我的输入框如下: <input type="text" name="search" id="txt_name" placeholder="Keyword"/> 在用户在没有页面加载的情况下进入输入框后,如何调用I this ajax() 更新: $('#txt_name').on('click', 'submit', function(e) { e.prev

当用户在没有页面加载的情况下输入输入框时,我尝试调用ajax(),但当用户在输入框上输入时,它调用这个ajax方法。我的输入框如下:

<input type="text" name="search" id="txt_name"  placeholder="Keyword"/>
在用户在没有页面加载的情况下进入输入框后,如何调用I this ajax()

更新:

$('#txt_name').on('click', 'submit', function(e) {
    e.preventDefault();
    $.ajax({
        type:"post",
        url:"doSearchEnter.php",
        data :{
                'key' : value               
            },          
        success:function(res){
            $('#showSearchResult').html(res);
            }
       });
});
更新2:

<form>     
<input type="button" name="given_name" value="Given Name" class="search_submit" id="given_name"/>
<input type="button" name="company_name" value="Company Name" class="search_submit" id="company_name"/>
<input type="button" name="cdid" value="ID" class="search_submit" id="cdid"/>
<input type="text" name="search" id="txt_name"  placeholder="Keyword"/>    
</form>

$('form').on('click', 'submit', function(e){
    e.preventDefault();
});

$('form').on('keyup', '#txt_name', function(e){
    if(e.keyCode == '13'){
        $.ajax({
            type:"post",
            url:"doSearchEnter.php",
            data :{
                    'key' : value               
                },          
            success:function(res){
                $('#showSearchResult').html(res);
                }
           });
    }
});

$('form')。在('click','submit',函数(e)上{
e、 预防默认值();
});
$('form')。关于('keyup','txt_name',函数(e){
如果(e.keyCode=='13'){
$.ajax({
类型:“post”,
url:“doSearchEnter.php”,
数据:{
“键”:值
},          
成功:功能(res){
$('#showSearchResult').html(res);
}
});
}
});

不要使用keyup(),而是使用blur()。

不要使用keyup(),而是使用blur()。

将当前匿名函数更改为在不同情况(即不同事件)下运行,例如
focusout()
blur()


将当前匿名函数更改为在不同情况下运行(即不同事件),例如
focusout()
blur()


您的问题有点不清楚,但我认为您希望在用户按下输入框上的enter键时执行ajax?如果是这样,您可以检查keyup处理程序中按下的键,并检查它是否为enter键

  $("#txt_name").keyup(function(event){
    if (event.keyCode == '13') {
      //...
    }
  });

您的问题有点不清楚,但我认为您希望在用户按下输入框上的enter键时执行ajax?如果是这样,您可以检查keyup处理程序中按下的键,并检查它是否为enter键

  $("#txt_name").keyup(function(event){
    if (event.keyCode == '13') {
      //...
    }
  });

使用提交按钮将输入放在表单内部应该可以做到这一点。当用户按enter键时,表单应提交。你所要做的就是使用它

$('form').on('click', 'submit', function(e) {
    e.preventDefault();
    $.ajax({
        //do your Ajax thing here
     });
});
更新: 对于三种表单,您将对所有三种表单使用相同的Ajax调用,并将数据按如下方式放在一起

var formData = $(this).closest('form').serialize();
$.ajax({
    type: 'POST',
    url: 'test.php',
    data: formData
});
这将告诉jquery以适当的格式将表单数据传递到服务器端脚本,并适用于所有三个脚本

更新2: 根据更新的问题进行更新:

$('form').on('submit', function(e){
    e.preventDefault();
});

$('form').on('keyup', '#txt_name', function(e){
    if(e.keyCode == '13'){
        $.ajax({
            //do Ajax stuff
         });
    }
});
这里是工作代码的链接!

用提交按钮将输入放在表单中应该可以做到这一点。当用户按enter键时,表单应提交。你所要做的就是使用它

$('form').on('click', 'submit', function(e) {
    e.preventDefault();
    $.ajax({
        //do your Ajax thing here
     });
});
更新: 对于三种表单,您将对所有三种表单使用相同的Ajax调用,并将数据按如下方式放在一起

var formData = $(this).closest('form').serialize();
$.ajax({
    type: 'POST',
    url: 'test.php',
    data: formData
});
这将告诉jquery以适当的格式将表单数据传递到服务器端脚本,并适用于所有三个脚本

更新2: 根据更新的问题进行更新:

$('form').on('submit', function(e){
    e.preventDefault();
});

$('form').on('keyup', '#txt_name', function(e){
    if(e.keyCode == '13'){
        $.ajax({
            //do Ajax stuff
         });
    }
});
这里是工作代码的链接!

在jquery中使用focusout()或keydown()事件……什么是“无页面加载”意思?“但是当用户在输入框中键入“对,
keyup
事件与此相关:击键的“向上”部分(这些部分是keydown[如果用户按住它并开始重复按键,可能会重复此过程]),keyup和keypress[可能会重复])。如果希望它发生在另一个事件上,请使用另一个事件。@NikhilTalreja无页面加载意味着如果用户在输入框中按enter键,它应该直接调用ajax并显示来自php的结果,而无页面加载。在jquery中使用focusout()或keydown()事件…无页面加载是什么意思?“但是当用户在输入框上键入时,它调用了这个ajax方法”对,这就是
keyup
事件所涉及的:击键的“向上”部分(这些部分是keydown[如果用户按住它并开始重复击键),keyup和keypress[可能重复])。如果您希望它发生在另一个事件上,请使用另一个事件。@NikhilTalreja无页面加载意味着如果用户在输入框上按enter键,它应该直接调用ajax并显示php的结果,无页面加载。但是当我在输入框上输入时,它会加载页面。当我在输入框上输入时,我想在无页面加载的情况下调用此ajax。您知道如何处理o当用户在输入框中输入时,我阻止此页面加载?但当我在输入框中输入时,它会加载页面。当我在输入框中输入时,我想在不加载页面的情况下调用此ajax。您知道当用户在输入框中输入时,我如何阻止此页面加载吗?如果我的页面中有3个表单,那么会发生什么?使用ID或类指定您想要的表单或者,更好的方法是,将您发送的数据专门发送到该表单。这样,您只有一个针对三个表单的Ajax调用,并且对每个表单都独立工作:-)好的,检查我的更新问题。当我在输入框中输入时,现在是加载整个页面。有什么问题吗?看,没有提交按钮。我想要加载Ajax()当用户在没有页面加载的情况下在此输入框中输入时。当您按enter键时,它将重新加载?并且表单中没有提交按钮?如果我的页面中有3个表单,那么会发生什么?使用ID或类指定您想要的表单,或者更好的是,将数据专门发送到该表单。这样,您只有一个针对thr的Ajax调用ee表单,它将独立地为每个表单工作:-)好的,检查我的更新问题。当我在输入框中输入时,它现在是加载整个页面。有什么问题吗?看,没有提交按钮。我想加载ajax()当用户在没有页面加载的情况下在此输入框中输入时。当您按enter?时,它将重新加载,并且表单中没有提交按钮?