2015-07-21 3 views
-3

http://www.cipslimoshuttle.com/quote -Форма Javascript не посылает

У меня есть форма здесь, которая работала в прошлом году, но все внезапные формы не передаются больше. Я вообще не внес никаких изменений на сайт. Вот javascript, связанный с формой.

//forms 
;(function($){ 
    $.fn.forms=function(o){ 
     return this.each(function(){ 
      var th=$(this) 
       ,_=th.data('forms')||{ 
        errorCl:'error', 
        emptyCl:'empty', 
        invalidCl:'invalid', 
        notRequiredCl:'notRequired', 
        successCl:'success', 
        successShow:'5000', 
        mailHandlerURL:'bat/MailHandler.php', 
        ownerEmail:'[email protected]', 
        stripHTML:true, 
        smtpMailServer:'localhost', 
        targets:'input,textarea,select', 
        controls:'a[data-type=reset],a[data-type=submit]', 
        validate:true, 
        rx:{ 
         ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, 
         ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, 
         ".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'}, 
         ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, 
         ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, 
         ".message":{rx:/.{20}/,target:'textarea'}, 
         ".address":{rx:/.{5}/,target:'textarea'}, 
         ".zipcode":{rx:/(^\d{5}$)|(^\d{5}-\d{4}$)/,target:'input'} 
        }, 
        preFu:function(){ 
         _.labels.each(function(){ 
          var label=$(this), 
           inp=$(_.targets,this), 
           defVal=inp.val(), 
           trueVal=(function(){ 
          var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html() 
          return defVal==''?defVal:tmp 
             })() 
          trueVal!=defVal 
           &&inp.val(defVal=trueVal||defVal) 
          label.data({defVal:defVal})        
          inp 
           .bind('focus',function(){ 
            inp.val()==defVal 
             &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl)) 
           }) 
           .bind('blur',function(){ 
            _.validateFu(label) 
            if(_.isEmpty(label)) 
             inp.val(defVal) 
             ,_.hideErrorFu(label.removeClass(_.invalidCl))           
           }) 
           .bind('keyup',function(){ 
            label.hasClass(_.invalidCl) 
             &&_.validateFu(label) 
           }) 
          label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide() 
         }) 
         _.success=$('.'+_.successCl,_.form).hide() 
        }, 
        isRequired:function(el){        
         return !el.hasClass(_.notRequiredCl) 
        }, 
        isValid:function(el){       
         var ret=true 
         $.each(_.rx,function(k,d){ 
          if(el.is(k)) 
           ret=d.rx.test(el.find(d.target).val())          
         }) 
         return ret       
        }, 
        isEmpty:function(el){ 
         var tmp 
         return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal') 
        }, 
        validateFu:function(el){        
         el.each(function(){ 
          var th=$(this) 
           ,req=_.isRequired(th) 
           ,empty=_.isEmpty(th) 
           ,valid=_.isValid(th)         

          if(empty&&req) 
           _.showEmptyFu(th.addClass(_.invalidCl)) 
          else 
           _.hideEmptyFu(th.removeClass(_.invalidCl)) 

          if(!empty) 
           if(valid) 
            _.hideErrorFu(th.removeClass(_.invalidCl)) 
           else 
            _.showErrorFu(th.addClass(_.invalidCl))        
         }) 
        }, 
        getValFromLabel:function(label){ 
         var val=$(label).val(); 
         return val.length?val:'nope'; 
        } 
        ,submitFu:function(){ 
         //alert("here"); 
         _.validateFu(_.labels)       
         //alert("here1"); 
         if(!_.form.has('.'+_.invalidCl).length) { 
          //alert('here2'); 
          var data1={ 
            fname:_.getValFromLabel('#txtFirstname'), 
            lname:_.getValFromLabel('#txtLastname'), 
            title:_.getValFromLabel('#txtTitle'), 
            company:_.getValFromLabel('#txtCompany'), 
            address:_.getValFromLabel('#txtAddress'), 
            city:_.getValFromLabel('#txtCity'), 
            state:_.getValFromLabel('#cmbState'), 
            zipcode:_.getValFromLabel('#txtZip'), 
            dayphone:_.getValFromLabel('#txtDayPhone'), 
            nightphone:_.getValFromLabel('#txtNightPhone'), 
            besttime:_.getValFromLabel('#txtBestTime'), 
            email:_.getValFromLabel('#txtEmail'), 
            stype:_.getValFromLabel('#cmbServiceType'), 
            edesc:_.getValFromLabel('#txtEventDescription'), 
            edate:_.getValFromLabel('#dtpEventDate'), 
            estime:_.getValFromLabel('#txtEStartTime'), 
            eetime:_.getValFromLabel('#txtEEndTime'), 
            cdesc:_.getValFromLabel('#txtContractDescription'), 
            cdate:_.getValFromLabel('#dtpContractDate'), 
            owner_email:_.ownerEmail, 
            stripHTML:_.stripHTML 
           } 
//        alert(data1.edate); 
          $.ajax({  
           type: "POST", 
           url:_.mailHandlerURL, 
           data:data1, 
           success: function(data){ 
            //alert("here "); 
            _.showFu() 
           }, 
           error:function(xhr, textStatus, error){ 
            //alert("error "+xhr.responseText+' '+textStatus+' '+error); 
     $(".success").html(xhr.responseText+' '+textStatus+' '+error+' there was an error in sending the email. please try again later!'); 
           }, 
           complete:function(){ 
            $('body, html').animate({scrollTop:$('.success').offset().top-30}, 'slow'); 
           } 
          }) 
          } // of if 
          else { alert($('.'+_.invalidCl).length); } 
        }, 
        showFu:function(){ 
         _.success.slideDown(function(){ 
          setTimeout(function(){ 
           _.success.slideUp() 
           _.form.trigger('reset') 
          },_.successShow) 
         }) 
        }, 
        controlsFu:function(){ 
         $(_.controls,_.form).each(function(){ 
          var th=$(this) 
          th 
           .bind('click',function(){ 
            _.form.trigger(th.data('type')) 
            return false 
           }) 
         }) 
        }, 
        showErrorFu:function(label){ 
         label.find('.'+_.errorCl).slideDown() 
        }, 
        hideErrorFu:function(label){ 
         label.find('.'+_.errorCl).slideUp() 
        }, 
        showEmptyFu:function(label){ 
         label.find('.'+_.emptyCl).slideDown() 
         _.hideErrorFu(label) 
        }, 
        hideEmptyFu:function(label){ 
         label.find('.'+_.emptyCl).slideUp() 
        }, 
        init:function(){ 
         _.form=_.me      
         _.labels=$('label',_.form) 

         _.preFu() 

         _.controlsFu() 

         _.form 
          .bind('submit',function(){ 
           if(_.validate) 
            _.submitFu() 
           else 
            _.form[0].submit() 
           return false 
          }) 
          .bind('reset',function(){ 
           _.labels.removeClass(_.invalidCl)         
           _.labels.each(function(){ 
            var th=$(this) 
            _.hideErrorFu(th) 
            _.hideEmptyFu(th) 
           }) 
          }) 
         _.form.trigger('reset') 
        } 
       } 
      _.me||_.init(_.me=th.data({forms:_})) 
      typeof o=='object' 
       &&$.extend(_,o) 
     }) 
    } 
})(jQuery) 
$(window).load(function(){ 
    $('#contact-form').forms({ 
     ownerEmail:'[email protected]' 
    }) 
}) 
+0

Как выглядит html/javascript? – ijsnow

+0

Не связанный с вашим вопросом полностью, но ссылка на ваш адрес не работает. Вы указали на «#» вместо «mailto: [email protected]» –

ответ

0

Ваша форма не имеет атрибут действия, чтобы сказать ему, где отправить, и кнопка ваш Submit не на самом деле форма кнопки отправки, но вместо этого Тег (ссылка). Вам нужно выяснить, где форму, которую следует отправить, и установить ее на действие тега формы, а затем изменить <a href="#" class="btn-3" data-type="submit">Send</a> на что-то большее, например <input class="btn-3" type="submit" value="Send">

Что могло бы произойти в том, что раньше был JavaScript, который обрабатывал представление формы. Я не вижу JavaScript везде, где это делается, но вместо того, чтобы делать изменения, описанные выше, вы также можете переписать JavaScript, который мог бы сделать работу в прошлом.

0

Я смотрю на файл forms_contact1.js и увидеть проблему при отладке:

,submitFu:function(){ 
        _.validateFu(_.labels)       
        if(!_.form.has('.'+_.invalidCl).length) { 
         var data1={ 
           fname:_.getValFromLabel('#txtFirstname'), 
           lname:_.getValFromLabel('#txtLastname'), 
           title:_.getValFromLabel('#txtTitle'), 
           company:_.getValFromLabel('#txtCompany'), 
           address:_.getValFromLabel('#txtAddress'), 
           city:_.getValFromLabel('#txtCity'), 
           state:_.getValFromLabel('#cmbState'), 
           zipcode:_.getValFromLabel('#txtZip'), 
           dayphone:_.getValFromLabel('#txtDayPhone'), 
           nightphone:_.getValFromLabel('#txtNightPhone'), 
           besttime:_.getValFromLabel('#txtBestTime'), 
           email:_.getValFromLabel('#txtEmail'), 
           stype:_.getValFromLabel('#cmbServiceType'), 
           edesc:_.getValFromLabel('#txtEventDescription'), 
           edate:_.getValFromLabel('#dtpEventDate'), 
           estime:_.getValFromLabel('#txtEStartTime'), 
           eetime:_.getValFromLabel('#txtEEndTime'), 
           cdesc:_.getValFromLabel('#txtContractDescription'), 
           cdate:_.getValFromLabel('#dtpContractDate'), 
           owner_email:_.ownerEmail, 
           stripHTML:_.stripHTML 
          } 
         $.ajax({  
          type: "POST", 
          url:_.mailHandlerURL, 
          data:data1, 
          success: function(data){ 
           _.showFu() 
          }, 
          error:function(xhr, textStatus, error){ 
    $(".success").html(xhr.responseText+' '+textStatus+' '+error+' there was an error in sending the email. please try again later!'); 
           _.showFu() 
          }, 
          complete:function(){ 
           $('body, html').animate({scrollTop:$('.success').offset().top-30}, 'slow'); 
          } 
         }) 
         } // of if 
         else { }//alert($('.'+_.invalidCl).length); } 

, если заявление возвращается ложное здесь: if(!_.form.has('.'+_.invalidCl).length) и я не уверен, что достаточно, что это проверка, но, может быть, у вас есть некоторые прозрения, и это может дать вам какое-то направление.

Смежные вопросы