Jquery数组验证+ php

Posted

技术标签:

【中文标题】Jquery数组验证+ php【英文标题】:Jquery array validation + php 【发布时间】:2010-12-29 17:25:32 【问题描述】:

我的 html 表单中有一个复选框组。复选框组包含数组。 我的问题是如何使用 jquery 验证复选框数组并在 php 中获取数组值

下面给出的代码

<input type="checkbox" name="go[]"  value="1" /><label>Married</label><br>
<input type="checkbox" name="go[]" value="2" /><label>Widowed</label><br>
<input type="checkbox" name="go[]" value="3" /><label>Single</label><br>
<input type="checkbox" name="go[]" value="4"/><label>Minor</label>

提前致谢。

【问题讨论】:

“验证”是什么意思? 您希望如何验证它?你只希望一次点击一个吗?测试以确保至少其中一个被点击?等等...我们需要更多信息才能真正提供帮助 为什么这个问题获得了投票? SO 中的所有新手似乎都在发布这种模棱两可、令人困惑且不明确的问题,并且仍然获得投票。我希望我有他们的“运气”。 因为其他新手也有同样的问题 ;) 【参考方案1】:

我认为您正在尝试使用 jQuery Validation 插件来确保您的组中至少有一个复选框被选中。

验证插件不喜欢带括号的输入名称。在表单的 validate 方法中试试这个:

rules: 
  'go[]':   //since it has brackets, the name must be in quotes to work
     required: true,
     minlength: 1
   

【讨论】:

【参考方案2】:

如果您的意思是如何验证复选框,因为它们包含 [],这里有一个使用 id 的解决方案:

<script type="text/javascript">
function validate()

    var proceed = true;

    for(var i = 1; i <= 4; i++)
    
        if (!$("#" + i).is(':checked'))
        
            proceed = false;
            break;
        
    

    if (proceed == true)
    
        return true;
    
    else
    
        alert('All Fields Are Required !!');
        return false;
    

</script>

html 表单可能如下所示:

<form action="frm" method="post" onsubmit="return validate();">

    <input type="checkbox" id="1" name="go[]"  value="1" /><label>Married</label><br>
    <input type="checkbox" id="2" name="go[]" value="2" /><label>Widowed</label><br>
    <input type="checkbox" id="3" name="go[]" value="3" /><label>Single</label><br>
    <input type="checkbox" id="4" name="go[]" value="4"/><label>Minor</label>

    <br />
    <input type="submit">
</form>

对于 PHP:

// get checkboxes array
$chk_array = $_POST['go'];

现在你可以用任何你想要的方式操作 $chk_array 数组了:

注意:

$chk_array[0] // contains your 1st checkbox value
$chk_array[1] // contains your 2nd checkbox value
$chk_array[2] // contains your 3rd checkbox value
$chk_array[3] // contains your 4th checkbox value

在 php 中,数组从 0 索引开始。

谢谢

【讨论】:

以上是关于Jquery数组验证+ php的主要内容,如果未能解决你的问题,请参考以下文章

jquery验证输入数组并传递动态值

使用带括号的 php 字段时,jQuery 验证不起作用

如何将 PHP 数组分配给 jQuery 数组? [复制]

Jquery 验证检查数组中的值是不是按照显示 jquery 错误消息显示错误

jquery验证文本输入数组仅验证第一个字段[重复]

使用验证插件 jquery 验证输入数组 - 显示每个输入的错误