jQuery表单验证检查返回'undefined'

时间:2011-01-19 09:24:00

标签: javascript jquery html

我在尝试使用jquery $.post提交的表单时出现问题,我使用this验证插件来验证表单,但是当我尝试使用{{检查表单时1}}我经常得到$("#form").validationEngine('validate'),然后重新加载页面,这里是代码:

undefined

HTML:

$(document).ready(function() {          

        $("#form").validationEngine();

        $("#submit").live('click',function(){
            var valid = $("#form").validationEngine('validate');
            var vars = $("#form").serialize();

            if(valid == true){

                //disable submit button
                $("#submit").attr('disabled','disabled');

                $.post('thank_you.php',vars,function(data){
                    alert(data);
                });

            }else{
                $("#form").validationEngine();
            }
        });
});

我已经看过插件的网站了,并且没有找到任何可以表明我为什么会这样做的内容,我的代码中有什么可能导致我在尝试验证时获得<form id="form"> <div> <label for='province'>Select your current province </label> <select id='province' name='province' class='validate[required] text-input'> <option value=''>Select one</option> <option>province1</option> <option>province2</option> </select> </div> <br /> <div> <label for="city">Select your current city</label><br /> <select id="city" name="city" class="validate[required] text-input"> <option value="">Select one</option> <option>city1</option> <option>city2</option> </select> </div> <br /> <div> <label for="name_surname">Name & Surname</label><br /> <input type="text" id="name_surname" name="name_surname" class="validate[required] text-input" /> </div> <br /> <div> <label for="email">Email Address</label><br /> <input type="text" id="email" name="email" class="validate[required,custom[email]] text-input" /> </div> <div> <input type="image" src="images/solar_38.gif" width="82" height="32" alt"submit" id="submit" /> </div> </form> 形成的?

2 个答案:

答案 0 :(得分:2)

我尝试在演示中创建并遇到与您相同的错误。 只有当我包括以下js时,它才开始工作。 在你的情况下可能是相同的:))

<script src="http://www.position-relative.net/creation/formValidator/js/jquery.validationEngine-en.js"></script>
<script src="http://www.position-relative.net/creation/formValidator/js/jquery.validationEngine.js"></script>

答案 1 :(得分:1)

查看文档我认为$("#form").validationEngine();行是错误的 - 应该是

$("#form").validationEngine('attach'); 

来自文档:

  

实例化验证器是   通常使用呼叫进行实例化   以下形式:

$("#form.id").validationEngine(action or options);
     

该方法需要一个或   几个可选参数,或者一个   动作(和参数)或列表   用于自定义行为的选项   引擎。

     

这里有一瞥:说你有一个   形式就是这种

           
  

以下代码将实例验证引擎:

 <script> 
 $(document).ready(function(){ 
     $("#formID").validationEngine('attach');

    }); 
 </script>