JQuery не отправляет форму правильно - PullRequest
1 голос
/ 10 октября 2011

Каждый раз, когда я отправляю эту форму, вместо того, чтобы отправить ее на сервер, по какой-то причине она перезагружает страницу и добавляет все данные в виде 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 ]

3 голосов
/ 10 октября 2011

Вы когда-нибудь пробовали использовать сборку jQuery в методе $ .post ()?

Вы можете легко уменьшить код до:

$("#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);    
}
});
});
0 голосов
/ 10 октября 2011

Поскольку вы выполняете POST, .ajax ожидает свойство "data" объекта, который вы передаете.Вы устанавливаете метод для публикации, а затем настраиваете URL, который вы публикуете в качестве получения.Вам необходимо сериализовать вашу форму и присвоить ее свойству data, либо вам нужно изменить тип ajax на «GET»

0 голосов
/ 10 октября 2011

Является ли ваш $ ("# updatebusiness") простой ссылкой (<a href="#" id="updatebusiness">, которую пользователь должен щелкнуть? Если да, то вам нужно добавить и event.preventDefault () , чтобы запретить браузеру перемещаться куда-либоили вместо этого используйте <button>.

также: попробуйте .serialize () вместо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...