Ajax 调用在回车键上不起作用,仅适用于单击功能


Ajax call not working on enter keypress, works only for click function

我有一个从 php 文件调用数据的 ajax 方法,我从一个博客中学到了它,现在它可以用于提交按钮单击功能的文件,但是当我按 enter 时,变量显示在地址栏中并且 ajax 进程没有执行,任何人都可以帮我在按回车方法上做到这一点......

这是我的代码:-

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
$(document).ready(function() {
    $("input[name='search_user_submit']").click(function() {
        var cv = $('#newInput').val();
        var cvtwo = $('input[name="search_option"]:checked').val();
        var data = { "cv" : cv, "cvtwo" : cvtwo }; // sending two variables
        $("#SearchResult").html('<img src="../../involve/images/elements/loading.gif"/>').show();
        var url = "../elements/search-user.php";
        $.post(url, data, function(data) {
            $("#SearchResult").html(data).show();
        });
    });
});
});//]]>  
</script>

我已经通过采用if条件以及按键事件来尝试它仍然不起作用:-

if (e.keyCode == 13) { // Do stuff }
else { // My above code }
//In this also it seems that i am doing something wrong.

任何人都可以启发我哦,该怎么做。

我的输入字段是:-

<input type="text" name="searchuser_text" id="newInput" maxlength="255" class="inputbox MarginTop10">

我的提交按钮是:-

<input class="Button" name="search_user_submit" type="button" value="Search">

您可以尝试使用 event.preventDefault(); 进行输入按键。

谢谢。

当您键入 Enter 时,会执行表单的默认 onSubmit 处理程序。您可以使用提交jquery函数来处理输入和单击提交按钮。

$("form").submit(function() {
    var cv = $('#newInput').val();
    var cvtwo = $('input[name="search_option"]:checked').val();
    var data = { "cv" : cv, "cvtwo" : cvtwo }; // sending two variables
    $("#SearchResult").html('<img src="../../involve/images/elements/loading.gif"/>').show();
    var url = "../elements/search-user.php";
    $.post(url, data, function(data) {
        $("#SearchResult").html(data).show();
    });
    return false;
});

此函数中的返回 false 将阻止表单提交。