jQuery没有正确发送表单

时间:2011-10-10 01:30:04

标签: jquery forms post get

每次我提交此表单,而不是POST到服务器,由于某种原因它重新加载页面并将所有数据添加为GET

我想知道是否有人在以下代码中看到错误。

$("#updatebusiness").live('click', function(event){

        var tradingname = $('#tradingname').attr('value');
        var website     = $('#website').attr('value');
        var address     = $('#address').attr('value');
        var phonenumber = $('#phonenumber').attr('value');
        var email       = $('#email').attr('value');
        var postcode    = $('#postcode').attr('value');
        var state   = $('#state').val();
        var city    = $('#city').attr('value');
        var leadstatus  = $('#leadstatus').val();

        var sendemail   = $('#sendemail').val();
        var whichemail  = $('#whichemail').val();

        var notes       = $("#notes").val();
        var description     = $("#description").val();


        var callback    = $('#callback').val();
        var callbackdate    = $('#callbackyear').val()+"-"+$('#callbackmonth').val()+"-"+$('#callbackday').val();
        var callbacktime    = $('#callbackhour').val()+":"+$('#callbackmin').val();

        var companyname =   $('#companyname').attr('value');
        var acnabn      =   $('#acnabn').attr('value');
        var position    =   $('#position').attr('value');
        var title       =   $('#title').val();
        var firstname   =   $('#firstname').attr('value');
        var lastname    =   $('#lastname').attr('value');
        var industry    =   $('#industry').val();
        var subcategory =   $('#subcategory').val();
        var suburb1     =   $('#suburb1').attr('value');
        var suburb2     =   $('#suburb2').attr('value');
        var suburb3     =   $('#suburb3').attr('value');
        var suburb4     =   $('#suburb4').attr('value');
        var suburb5     =   $('#suburb5').attr('value');
        var suburb6     =   $('#suburb6').attr('value');
        var ms1         =   $('#ms1').attr('value');
        var ms2         =   $('#ms2').attr('value');
        var ms3         =   $('#ms3').attr('value');
        var ms4         =   $('#ms4').attr('value');
        var rcb1        =   $('#rcb1').attr('value');
        var rcb2        =   $('#rcb2').attr('value');
        var rcb3        =   $('#rcb3').attr('value');
        var rcb4        =   $('#rcb4').attr('value');
        var hotofferone =   $('#hotoffer1').attr('value');
        var hotofferrcb =   $('#hotofferrcb').attr('value');

        var hotofferstartdate   = $('#startday').val()+"-"+$('#startmonth').val()+"-"+$('#startyear').val();
        var hotofferfinishdate  = $('#finishday').val()+"-"+$('#finishmonth').val()+"-"+$('#finishyear').val();

        var terminalid  =   $('#terminalid').val();
        var bankname    =   $('#bankname').attr('value');
        var bsb         =   $('#bsb').attr('value');
        var cardtype    =   $('#cardtype').attr('value');
        var cardexpire  = $('#cardmonth').val()+"/"+$('#cardyear').val();

        if($('#terminalverified').is(':checked')) {
        var terminalverified    = "Yes";
        } else {
        var terminalverified    = "No";
        }

        var mobilenumber    =   $('#mobilenumber').attr('value');
        var faxnumber   =   $('#faxnumber').attr('value');
        var membershiptype  =   $('#membershiptype').attr('value');
        var keywords    =   $('#keywords').attr('value');
        var merchantid  =   $('#merchantid').attr('value');
        var bacname     =   $('#bacname').attr('value');
        var bacnumber   =   $('#bacnumber').attr('value');
        var crnumber    =   $('#crnumber').attr('value');
        var cvv         =   $('#cvv').attr('value');
        var incardallocation    =   $('#incardallocation').attr('value');


        var postaladdress   = $("#postaladdress").attr('value');
        var postalcity      = $("#postalcity").attr('value');
        var postalstate     = $("#postalstate").attr('value');
        var postalcode      = $("#postalcode").attr('value');
        var AMStatus        = $("#AMStatus").attr('value');

        if(usertype == 3 || usertype == 1)
        {
        var chosenusername      = $("#chosenusername").attr('value');
        var chosenpassword      = $("#chosenpassword").attr('value');
        }
        else
        {
        var chosenusername      = null;
        var chosenpassword      = null;
        }

        if(usertype == 1)
        {
        var leadowner   = $("#leadowner").val();
        }
        else
        {
        var leadowner   = $userid;
        }
        $.ajax({
            type: "POST",
            url: "system/classes/core.php",
            data: "task=updatebusinesslead&tradingname="+encodeURIComponent(tradingname)+"&website="+website+"&address="+address+"&phonenumber="+phonenumber+"&email="+email+"&postcode="+postcode+"&city="+city+"&state="+state+"&leadstatus="+leadstatus+"&sendemail="+sendemail+"&whichemail="+whichemail+"&callback="+callback+"&callbackdate="+callbackdate+"&callbacktime="+callbacktime+"&userid="+leadowner+"&companyname="+encodeURIComponent(companyname)+"&acnabn="+acnabn+"&position="+position+"&title="+title+"&firstname="+firstname+"&lastname="+lastname+"&industry="+industry+"&subcategory="+subcategory+"&suburbone="+suburb1+"&suburbtwo="+suburb2+"&suburbthree="+suburb3+"&suburbfour="+suburb4+"&suburbfive="+suburb5+"&suburbsix="+suburb6+"&msone="+ms1+"&mstwo="+ms2+"&msthree="+ms3+"&msfour="+ms4+"&rcbone="+rcb1+"&rcbtwo="+rcb2+"&rcbthree="+rcb3+"&rcbfour="+rcb4+"&hotofferone="+hotofferone+"&hotofferrcb="+hotofferrcb+"&hotofferstartdate="+hotofferstartdate+"&hotofferfinishdate="+hotofferfinishdate+"&terminalid="+terminalid+"&bankname="+bankname+"&bsb="+bsb+"&cardtype="+cardtype+"&cardexpire="+cardexpire+"&terminalverified="+terminalverified+"&mobilenumber="+mobilenumber+"&faxnumber="+faxnumber+"&membershiptype="+membershiptype+"&keywords="+keywords+"&merchantid="+merchantid+"&bacname="+encodeURIComponent(bacname)+"&bacnumber="+bacnumber+"&crnumber="+crnumber+"&cvv="+cvv+"&incardallocation="+incardallocation+"&postaladdress="+postaladdress+"&postalcity="+postalcity+"&postalstate="+postalstate+"&postalcode="+postalcode+"&notes="+encodeURIComponent(notes)+"&description="+encodeURIComponent(description)+"&chosenusername="+chosenusername+"&chosenpassword="+chosenpassword+"&AMStatus="+AMStatus+"&usertype="+usertype,
            success: function(data){
                if((data) == 1)
                {
                    loadadminlayout();
                //  alert(data);
                }
                else
                {
                alert(data);    
                }
            }
        });
        //continuebusinesslead();
return false;
});

3 个答案:

答案 0 :(得分:3)

您是否曾尝试在$ .post()方法中使用jQuery的构建?

您可以轻松地将代码缩小为:

$("#updatebusiness").live('click', function(event){
$.post("system/classes/core.php", $("#your-form-id").serialize(), function(data) {
if((data) == 1) {
loadadminlayout();
//  alert(data);
}
else
{
alert(data);    
}
});
});

答案 1 :(得分:0)

您的$(“#updatebusiness”)是否是用户必须点击的普通链接(<a href="#" id="updatebusiness">?如果是,那么您应该添加event.preventDefault()以防止浏览器进入任何地方,或者更确切地说使用改为<button>

另外:尝试.serialize()代替!

答案 2 :(得分:0)

由于您正在执行POST .ajax期望您传递的对象的“data”属性。您正在设置发布方法,然后将您要发布的网址设置为get。您需要序列化表单并将其分配给data属性,或者需要将ajax类型更改为“GET”