2013-05-08 83 views
0

如何验证我的表单并在链接点击事件上提交?我的代码如下:mootools验证并提交表单链接点击

new Element('a',{ 
           'html': "To cart", 
           'class': 'shop_add', 
           'href': 'javascript:void(0)', 
           events: { 
            click: function(e){ 

              new Form.Validator(product_details_sub_container, { 
                 stopOnFailure: true, 
                 useTitles: true, 
                 errorPrefix: "", 
                 ignoreHidden : false, 
                 onFormValidate: function(passed, form, event) { 

                 console.log("Validation status: " + passed); 
                 if (passed) {     
                  event.stop(); 



                  ...ajax request is here 
                 } 
                 } 

              }); 


            } 
           } 
         }).inject(container); 

为什么onFormValidate()函数不工作?谢谢!

回答

0

您正在每个链接点击创建新的Form.Validator。 我没有看到整个代码,但这里是你发布的代码的干净版本,并与这两个作品,按钮和链接:

的JavaScript

window.addEvent('domready', function() { 

    var container = $('container'); 
    var form = $('myForm'); 

    var myFormValidator = new Form.Validator(form, { 
     stopOnFailure: true, 
     useTitles: true, 
     errorPrefix: "", 
     ignoreHidden : false, 
     onFormValidate: function(passed, form, event) { 
      console.log("Validation status: " + passed); 
      if (passed) {     
       event.stop(); 
       // ...ajax request is here 
      } 

     } 
    }); 

    new Element('a', { 
     'html': "To cart", 
     'class': 'shop_add', 
     'href': 'javascript:void(0)', 
     events: { 
      click: function(e) { 
       myFormValidator.validate(e); 
      } 
     } 
    }).inject(container); 

}); 

HTML测试

<div id="container"></div> 
<form id="myForm" name="input" action="" method="get"> 
Username: <input type="text" name="user"> 
<input type="submit" value="Submit"> 
</form>