【问题标题】:Validating generated input fields验证生成的输入字段
【发布时间】:2013-05-20 01:29:06
【问题描述】:

我将如何验证使用 jQuery 在 PHP for 循环中生成的输入框? 在我的代码中,我使用 jquery.min.js 库和 jquery.validate.min.js 并简单地调用 validate 函数。

我只收到第一行的错误消息,但没有收到其他行的错误消息。 任何建议都非常感谢...thanxx提前。

<html>
<head>
<TITLE></TITLE>
<script type="text/javascript" src="first/js/jquery.min.js"></script>
<script type="text/javascript" src="first/js/jquery.validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

         $("#frm").validate({
                    rules:{
                        'name[]':{
                            required:true
                        },
                        'mail[]':{
                            required:true,
                            email:true
                         }
                    },
                    messages:{
            'name[]':{
                required:"Enter name"
            },
             'mail[]':{
                            required:" Enter mail",
                            email:"Enter valid mail"
                        }
                    },

                    submitHandler:function(){
                        form.submit();
                    }
                });
            });
</script>
</head>

<body>
<form name="frm" id="frm" action="exa.php">
<table>
<tr><TH>Name:</TH><TH>Email:</TH></tr>
<?php
for ($i=1;$i<=3;$i++)
{
?>
<tr><TD><input name="name[]" type="text" id="name[]" class="required" minlength="2"/></TD>
<TD><input name="mail[]" type="text" id="mail[]" class="required email" /></TD></tr>
<?php
}
?>

<tr><TD colspan="2" align="center"><input type="submit" name="submit" value="Submit"></TD></tr>

</table>
</form>
</body>
</html>

【问题讨论】:

  • 您应该以更切题的方式为您的问题命名。当前标题不会让人们找到您的问题或了解其主题。
  • thanxx 为您的建议...请您帮帮我...
  • 我不确定这是否可能...问题是您的元素具有相同的名称...插件似乎不喜欢这样
  • 从下面的链接中得到了答案.. jquery.validate.js 中只有一些变化,最后它工作了..

标签: jquery validation


【解决方案1】:

确实,看起来这不是自然可能的。

但是您可以更改 jquery.validate.js 的来源。还有另一个stackoverflow帖子:

https://stackoverflow.com/a/4136430/432513

尤其是:http://www.codeboss.in/web-funda/2009/05/27/jquery-validation-for-array-of-input-elements/

【讨论】:

    【解决方案2】:

    现在大多数现代浏览器都兼容 HTML5,如果您认为您的网站可以从兼容 HTML5 的浏览器访问,我建议您为 &lt;input&gt;email 类型使用 required 属性。

    例如:

    <input type='text' name='name[]' required />
    <input type='email' name='email[]' required />    
    

    只有在 &lt;html&gt; 之前写 &lt;!DOCTYPE HTML&gt; 时,这些才有效。

    我想这将是验证您的输入字段的最干净的方法

    【讨论】:

    • IMO,不建议这样做,因为目前使用required 属性进行表单验证不是一个好方法,2 年后可能是的
    • 是的,我同意。这就是我在第一行添加免责声明的原因。对于我们知道浏览器将更新到最新的某些应用程序,我认为这是一个明智的选择
    • thanx 朋友 .. 从上面的链接中得到了更好的答案。只需对 jquery.validate.js 中的代码进行一些更改,它就可以工作...
    猜你喜欢
    • 1970-01-01
    • 2014-10-11
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2023-03-14
    • 2011-04-25
    相关资源
    最近更新 更多