使用jquery提交表单

时间:2012-03-22 08:48:03

标签: php jquery ajax forms

我有一个表单,我需要在提交之前从数据库中添加一些数据。 我的HTML代码是:

<form action="https://91.199.226.106/services/authorize.php" id="arca" method="POST">
        <input type="hidden" name="hostID" id="hostID"/>                                                                                                                                                                                                                                            
        <input type="hidden" name="mid" id="mid" />
        <input type="hidden" name="tid" id="tid" />
        <input type="hidden" name="additionalURL" id="additionalURL" />
        <input type="hidden" name="orderID" id="orderID" />
        <input type="hidden" name="currency" id="currency" />
        <input type="hidden" name="opaque" />
        amount<input type="text" name="amount" id="amount" value="" /><br>
        <input type="submit" value="submit" />
    </form>
    <div id="script_area"></div>
    <div id="error_area"></div>

我有一个表单提交的事件处理程序。这是代码:

$("#arca").submit(function(e){
            e.preventDefault();
            var data="amount="+$("#amount").val()+"&&lang=eng";
            $.ajax({
                url: "ajax/get_arca_submit_params.php", 
                type: "POST",       
                data: data,     
                cache: false,
                success: function (html) {
                    var splited=html.split("|",2);
                    if(splited[0]=="0")
                    {
                        $("#error_area").html(splited[1]);
                    }
                    else
                    {
                        $("#script_area").html(splited[1]);
                        $("#arca").submit();
                        //alert("aaaaa");

                    }
                }   
            });
        });

PHP返回

  

我放置的“0 |错误消息”或“设置字段值的1 |脚本”   在id =“script_area”的div中

。问题是$("#arca").submit();行在提交表单时依次发出警告。我怎么解决这个问题?谢谢你的帮助。

2 个答案:

答案 0 :(得分:3)

$("#arca").submit();替换为$("#arca")[0].submit();。这样你就可以在底层DOM元素上调用submit事件,它不会触发你的回调并避免无限循环。

答案 1 :(得分:0)

您可以更改绑定点击事件以改为提交按钮。

$("#arca").find('input[type="submit"]').click(function (e) {
    e.preventDefault();
    var data = "amount=" + $("#amount").val() + "&&lang=eng";
    $.ajax({
        url: "ajax/get_arca_submit_params.php",
        type: "POST",
        data: data,
        cache: false,
        success: function (html) {
            var splited = html.split("|", 2);
            if (splited[0] == "0") {
                $("#error_area").html(splited[1]);
            } else {
                $("#script_area").html(splited[1]);
                $("#arca").submit();
                //alert("aaaaa");
            }
        }
    });
});
相关问题