【问题标题】:How to prevent form submission and make jquery ajax call instead如何防止表单提交并改为进行 jquery ajax 调用
【发布时间】:2011-04-19 09:44:57
【问题描述】:

当在表单输入字段上按下返回键时,我有一个要捕获的事件,但不会触发 ajax 调用,而是将 from 作为正常的 http 请求提交。

$("#addurl").keypress(function(e){
        switch(e.keyCode){
            case 13:
                // add url ajax call
                $("body").html(ajax_load)
                .load(loadUrl,{url:$("#addurl").value},function(responseText){
                    $("#videos").append(responseText);
                }
                return false;
        }
    });

...

<form><input id="addurl" name="addurl"/></form>

当我使用 alert("hi") 进行测试时,case 13 语句被正确触发,那么为什么 ajax 调用不能代替正常的完整 http 请求?

【问题讨论】:

    标签: javascript jquery html ajax forms


    【解决方案1】:

    你可以使用

    $(document).ready(function(){
    //capture the form submission event
    $("#formID").submit(function(){
       //do something
       return false;  
    });
    

    });

    【讨论】:

    • 一种更好的方法,但我接受了另一个答案,因为它明确地完成了我的要求,干杯
    【解决方案2】:
    $("#inputBoxId").keypress(function(e){            
            if(e.keyCode==13)
             {
                e.preventDefault();  /// add prevent default
                //your code here
    
             }
        });
    

    【讨论】:

    • 我认为您希望将preventDefault() 移动到case 13: 块中——您知道,这样用户输入的数据才会真正被输入。
    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 2013-08-23
    相关资源
    最近更新 更多