使用php和javascript验证html中的多选输入字段

时间:2010-06-24 09:24:22

标签: php javascript html

亥  我在多个属性中有一个选择输入字段。我必须在JavaScript和php中验证(空检查)这个字段。我的代码就像“select multiple =”multiple“name =”frm_supply []>“

有人帮助我吗?

3 个答案:

答案 0 :(得分:0)

假设你有一个像这样的HTML代码:

<select multiple="multiple" name="frm_supply[]">
  <option value="s1v1">A</option>
  <option value="s1v2">B</option>
  <option value="s1v3">C</option>
</select>
<select multiple="multiple" name="frm_supply[]">
  <option value="s2v1">1</option>
  <option value="s2v2">2</option>
  <option value="s2v3">3</option>
</select>

提交表单时,如果选中A,B和1,$_POST数组将如下所示:

Array (
  [frm_supply] => Array (
    [0] => s1v1
    [1] => s1v2
    [2] => s2v1
    )
  )

因此,如果有任何&lt; select /&gt;,请检查循环。是空的。以下代码遍历两个&lt; select /&gt;并显示每个“列表N具有值”“列表N为空”

$countValuesPerList = array();
foreach ($_POST['frm_supply'] as $key => $value)
{
  $index = substr($value, 1, strpos($value, 'v') - 1);
  $countValuesPerList[$index] = true;
}

for ($i = 1; $i <= 2; $i++)
{
  echo isset($countValuesPerList[$i]) && $countValuesPerList[$i] ? 'List ' . $i . ' has values' : 'List ' . $i . ' is empty';
}

现在,要检查客户端的选择,请按照and check what is selected in each <select/>的相同方式进行操作。

答案 1 :(得分:0)

多个选择值存储在数组中。 所以检查数组的长度并根据你的验证规则,例如对于至少2选择,数组的长度应该大于2,依此类推

答案 2 :(得分:0)

<select name="name">
   <?php
   for ($i = 0; $i < $count; $i++) {
      echo '<option value='$i'>$i</option>';
   }   
   ?>
</select>