【问题标题】:jQuery validation in a while loop在while循环中进行jQuery验证
【发布时间】:2015-07-07 06:34:14
【问题描述】:

所以我使用 jQuery 验证插件在我的一个页面上的 php while 循环中验证文本框。

我遇到的问题是验证仅适用于第一个文本框,而不适用于其余文本框。

我尝试分配一个唯一键而不是使用表单的 id 来验证它,但到目前为止我还没有运气。这可能是因为我认为我分配不正确。

这是我的 jQuery 脚本:

<script type="text/javascript">
jQuery(document).ready(function($) {
$.validator.addMethod('minNum', function (value, el, param) {
return value > param;
},
"Enter a number greater than 0!");
$("#quantityInputUser").validate({
    rules: {
        quantityInput: {
            required: true,
            minNum: 0,
            number: true,
            maxlength:2
            }
        },
    messages: {
        quantityInput: {
            required: "The quantity is required!",
            minNum: "Enter a number greater than 0!",
            number: "Enter a number!",
            maxlength: "Quantity must be between 1-99!"
        },
    }
});         
});

 </script>

这是while循环中的形式:

 while($row2 = mysqli_fetch_array($itemQuery3)){
                                //some variables are assigned

                                //other stuff happens

        echo "<form action='menu.php' method='post' id='quantityInputUser'>";
                        echo '<div class="row"><h5> Quantity: </h5><input type="number" id="text" maxlength="2" name="quantityInput" value="'.$qty.'"/></div></div>';

         echo "<div class='row'>
         <input class='send' type='submit' name='updateCart' value='Update Cart'/>
         <input name='itemAdjust' type='hidden' value='$itemID'/>
         </form></div>";

}

如果有人能指出我将如何在表单中分配唯一键,然后在脚本文件中引用它,我将不胜感激。

编辑:抱歉,如果我没有说清楚,表单是在 while 循环中创建的,因此有多种表单。

【问题讨论】:

  • while 循环在哪里?有多种形式吗?
  • 如果您发布的 PHP 代码在您的 while 循环中,那么您将输出多个表单,并创建多个具有相同 id 属性的表单元素。请显示更多您的 PHP 代码。
  • 我已经更新了问题,干杯。

标签: javascript php jquery validation


【解决方案1】:

另一个答案实际上非常接近。你应该把它改成一个类,像这样:

echo "<form action='menu.php' method='post' class='quantityInputUser'>";

但是你的 javascript 应该更像这样:

$(".quantityInputUser").each(function(){
    $(this).validate({
    .... rules ....
    });
})

【讨论】:

    猜你喜欢
    • 2018-04-08
    • 2016-06-07
    • 1970-01-01
    • 2023-03-12
    • 2014-03-01
    • 1970-01-01
    • 2012-01-12
    • 2021-05-13
    相关资源
    最近更新 更多