jquery ajax验证引擎无法正常工作

udg*_*tel 1 jquery jquery-validation-engine

我的jquery验证表单不是验证..代码就像

    <script type='text/javascript'>
    $(document).ready(function()
    {

    $('#frm').validationEngine('validate');
    });
</script>

<div id='gap'> </div>
    <div id='main'>
        <div id='login-box'>
            <h2><span> ".HD_LOGIN." </span></h2>
            <table align='center'>
            <form id='frm' name='frm' >
                <tr> 
                    <td class='name'> <span>".LBL_USERNAME." </span> </td>
                    <td> <span> &nbsp; </span> </td>
                    <td> <input type='text' name='username' id='username' class='input validate[required]'/><input type='hidden' name='login' value='1' /></td>
                </tr>
                <tr>
                    <td id='error-show'> <span> &nbsp </span> </td> 
                </tr>
                <tr> 
                    <td class='name'> <span>".LBL_PASSWORD."</span></td>
                    <td> <span> &nbsp; </span> </td>
                    <td> <input  type='password' name='password' id='password' class='input validate[required]'/></td> 
                </tr>
                <tr>
                    <td id='error-show'><span> &nbsp; </span> </td> 
                </tr>
                <tr>
                    <td> <span> &nbsp; </span> </td>
                    <td> <span> &nbsp; </span> </td>
                    <td> <input class='chckbx' type='checkbox' name='rememberme' value='1'/> <span> ".CHCK_LOGGED." </span> </td> 
                </tr>
                <tr>
                    <td> <span> &nbsp </span> </td> 
                </tr>
                <tr> 
                    <td colspan='3' align='center'> <input type='button' name='but'  value='login' onclick=\"general_ajax1('modules/login/logincontroller.php',$('#frm').serialize())\"/></td> 
                </tr>

            </form> 
Run Code Online (Sandbox Code Playgroud)

现在下面是自定义ajax

if($("#frm").validationEngine('validate'))
       {
function general_ajax1(urld,data)
{
   $.ajax({
        type:'POST',
        url:urld,
        data:data,
        success: function(response){$('#main_content').html(response);}
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*Zen 5

错误在您的HTML中.您已在'table'标记内放置'form'标记,但这是不允许的.

<table align='center'>
     <form id='frm' name='frm' > <---- no!
         <tr> 
Run Code Online (Sandbox Code Playgroud)

你必须这样做:

<form id='frm' name='frm' > <---- no!
    <table align='center'>
        <tr> 
Run Code Online (Sandbox Code Playgroud)

请记住将'/ form'标记放在文件末尾的'/ table'标记之外.

此外,该插件似乎有一个错误(我在github上使用主版本).默认情况下,'validateAttribute'未定义.在dom ready事件上配置它.

$(function(){
   $.validationEngine.defaults.validateAttribute = "class";
});
Run Code Online (Sandbox Code Playgroud)

这将把事情整理好......