亥 我在多个属性中有一个选择输入字段。我必须在JavaScript和php中验证(空检查)这个字段。我的代码就像“select multiple =”multiple“name =”frm_supply []>“
有人帮助我吗?
答案 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>