使用ajax jQuery提交表单时无法从服务器加载数据

时间:2013-01-28 12:33:54

标签: jquery ajax forms

我有一张表格:

<form name="viewCustomerDetail" method="post">
    <label>View Account Detail</label>
    <ul>
        <li><input name="accountNumber" id="accountNumber" type="text" class="adminsearch"/></li>
        <li><input name="submit" id="submit" type="button" value="Get Customer"/></li>
    </ul>
</form>

script

<script type="text/javascript">
    $(document).ready(function() {
        $("#submit").click(function(){
            var acc = $("#accountNumber").val();
            src = "pass.php";

            $.ajax({
                url: src,
                data: 'action=account&type=viewDetail&accNo='+acc,
                cache: false,
                type:'GET',
                success: function(data, textStatus, XMLHttpRequest){
                    if(data!=0) {
                        $("#userInfo").html("");                        
                        $("#userInfo").css("display","block");
                        $("#userInfo").append(data);
                    }else{
                        $("#userInfo").html('');                        
                        $("#userInfo").append('<span class="alert-red alert-icon">Please Enter correct Account Number.</span>');
                        $("#userInfo").css("display","block");
                    }
                 },
             });
         });
     });
</script>

当我点击script时,此button效果很好,但如果我将<input type="button"/>更改为<input type="submit"/>则无效。而且,我想在script中按 ENTER 键时运行<input type="text">。任何人都可以提供帮助,我是jQueryajax的新手。

6 个答案:

答案 0 :(得分:1)

尝试将处理程序附加到表单submit event而不是

答案 1 :(得分:1)

对于按键(输入),您可以在此处找到一个主题。我确信答案符合您的需求:How to submit an AJAX form with ENTER key, from textarea?

这里是代码:

jQuery('.new-reply-text').keypress(function(e) {
if (e.keyCode == 13 && !e.shiftKey) {
    e.preventDefault();
    this.form.submit();
}
});

对于单击甚至使用jQuerys .submit()函数:

$("#submit").submit();

在提交内部,您可以通过其中的ajax请求传递另一个函数。

答案 2 :(得分:1)

在使用type="submit"时,您的表单将转到默认操作,您必须在一个答案中使用上面指定的prevent default方法。

用于附加事件以进入按键

$('#textbox').keypress(function(event){

var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
//yourcode
}

});

希望这有帮助

答案 3 :(得分:0)

使用此

$('#form_id').bind('submit',function(e) {
  e.preventDefault(); //Will prevent the submit...
  //Add additional code here
});

答案 4 :(得分:0)

创建一个表单id作为viewCustomerDetail然后

$("#accountNumber").keypress(function(event) {
 if ( event.which == 13 ) {
$("#viewCustomerDetail").submit();
}
});

答案 5 :(得分:0)

只需创建像Submit()这样的提交功能,然后按下按钮点击:

input type="Button" value="Submit" onclick="Submit()" 

不要将其类型更改为submit.in submit(),将代码放在提交时要执行的操作。