【问题标题】:Jquery array validation + phpJquery数组验证+ 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 中的所有新手似乎都在发布这种模棱两可、令人困惑且不明确的问题,并且仍然获得投票。我希望我有他们的“运气”。
  • 因为其他新手也有同样的问题 ;)

标签: php jquery validation checkbox


【解决方案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 索引开始。

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 2017-11-18
      • 2011-04-09
      相关资源
      最近更新 更多