Magento ajax联系表格与验证

时间:2016-01-18 09:09:22

标签: ajax magento

我使用ajax发送我的联系方式而无需重新加载联系页面。如果没有ajax,字段的验证确实很好,但是使用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')),
        });             
}       

}

1 个答案:

答案 0 :(得分:0)

我删除了onclick="fsubm()"并添加了

$x('#contactForm').submit( 
    function fsubm(){    
     var contactForm = new VarienForm('contactForm', true);    
     event.preventDefault(); 
...
})