2016-01-18 4 views
0

Я использую ajax для отправки формы контакта без перезагрузки страницы контакта. Без ajax проверка полей хорошо, но с ajax, перезагрузка всегда выполняется без проверки. Насколько проверены мои поля перед перезагрузкой?Magento ajax контактная форма с подтверждением

<form name="contactForm" id="contactForm">        
    <button type="button" onclick="fsubm()" title="<?php echo Mage::helper('contacts')->__('Submit') ?>" class="button"></button></form> 

function fsubm(){    


var contactForm = new VarienForm('contactForm', true);  
if (contactForm.validator && contactForm.validator.validate()) {    
    new Ajax.Updater({ 
     success:'contactForm' 
    }, 
     '<?php echo $this->getUrl('contacts/index/post') ?>', 
     { 
      method:'post', 
      action:"/contacts/index/post", 
      asynchronous:true, 
      evalScripts:false, 
      onSuccess:function(request, json){ 
       Element.hide('ajaxnotice'); 
       Element.hide('overlay'); 
       Element.hide('contactForm'); 
       Element.show('successmessage'); 


      }, 
      onFailure:function(request,json){ 
       alert('error'); 
      }, 
      onLoading:function(request, json){ 
       Element.show('ajaxnotice'); 
       Element.show('overlay'); 

      }, 
      // parameters: $(contactForm).serialize(true),   
      parameters:Form.serialize($('contactForm')), 
     });    
}  

}

+0

вы можете попробовать: OnClick = "event.preventDefault(); fsubm();" –

+0

результат тот же, без проверки – pelijojo

ответ

0

Я удалил onclick="fsubm()" и добавил

$x('#contactForm').submit( 
    function fsubm(){  
    var contactForm = new VarienForm('contactForm', true);  
    event.preventDefault(); 
... 
}) 
Смежные вопросы