【问题标题】:jquery ajax validation engine not workingjquery ajax验证引擎不工作
【发布时间】:2012-07-11 09:35:42
【问题描述】:

我的 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> 

现在下面是自定义 ajax

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

【问题讨论】:

  • 这可能是您的 javascript 错误?您的浏览器控制台显示了什么?如果可以,请在此处发布您的完整代码,以便我们测试发生了什么。
  • @devman no..没有任何警告或错误发生。 . . .这是完整的代码。 #maincontent div 在我链接所有脚本的索引页面中。一个主要问题是在firefox中没有操作按钮。当我点击按钮时,firefox中没有发生任何事情。

标签: jquery jquery-validation-engine


【解决方案1】:

错误在您的 HTML 中。您在“表格”标签内放置了“表格”标签,这是不允许的。

<table align='center'>
     <form id='frm' name='frm' > <---- no!
         <tr> 

你必须这样做:

<form id='frm' name='frm' > <---- no!
    <table align='center'>
        <tr> 

记得将“/form”标签放在文件末尾的“/table”标签之外。

此外,该插件似乎有一个错误(我正在使用 github 上的主版本)。 默认情况下,“validateAttribute”未定义。在 dom 就绪事件上配置它。

$(function(){
   $.validationEngine.defaults.validateAttribute = "class";
});

这会让事情变得井井有条...

【讨论】:

  • 非常感谢 devundef,为此苦苦挣扎了两天。这个问题似乎真的是一个错误。
【解决方案2】:
<script type='text/javascript'>

    $(document).ready(function(){

        $('#frm').validationEngine();

    });

</script>

试试这个方法。。 然后将输入绑定到 class= validate[required]..

【讨论】:

    【解决方案3】:

    在启动阶段,您需要附加 ValidationEngine。所以试试下面的就绪函数

    $(document).ready(function(){ 
        $('#frm').validationEngine('attach'); 
    }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多