Ajax调用不能用于输入按键,仅适用于点击功能

时间:2012-04-28 06:52:41

标签: php forms function jquery keypress

我有一个从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条件与keypress事件一起使用仍然无效: -

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">

2 个答案:

答案 0 :(得分:0)

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

感谢。

答案 1 :(得分:0)

当您输入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将阻止提交表单。