我真的很感激一些帮助。
我有一个php / html脚本,根据$ specqId显示某个选项,如果$ specqId不等于if / else if语句中的任何指定数字,那么只显示输入
<?php if($specqId == 5){ ?>
<select id="a1" name"a1">
<option value="8.5 x 11">Letter 8.5" x 11"</option>
<option value="8.5 x 14">Legal 8.5" x 14"</option>
<option value="11 x 17">Tabloid 11" x 17"</option>
</select>
<?php
}else if($specqId == 6){
?>
<select id="a1" name"a1">
<option value="18 x 24">18" x 24"</option>
<option value="20 x 30">20" x 30"</option>
<option value="30 x 40">30" x 40"</option>
</select>
<?php
}else if($specqId == 8){
?>
<select id="a1" name"a1">
<option value="8.5 x 11">8.5" x 11"</option>
</select>
<?php
}else {
?>
<input type="text" name="a1" id="a1" value="" size="30"/>
<?php }//end else ?>
现在,这是奇怪的事情,处理这个表单的php,除了输入标记中的什么之外没有任何东西,它不会在select标记中找到什么...
有什么想法吗?
答案 0 :(得分:1)
只是一点语法错误。
改变这个
<select id="a1" name"a1">
为:
<select id="a1" name="a1">
答案 1 :(得分:0)
您为所有选择字段指定了相同的名称('a1')。由于$ _POST是一个关联数组,因此字段名必须是唯一的。同样为字段提供相同的ID也不是有效的HTML。
试试这个:
<?php if($specqId == 5){ ?>
<select id="size" name"size">
<option value="8.5 x 11">Letter 8.5" x 11"</option>
<option value="8.5 x 14">Legal 8.5" x 14"</option>
<option value="11 x 17">Tabloid 11" x 17"</option>
</select>
<?php
}else if($specqId == 6){
?>
<select id="size" name"size">
<option value="18 x 24">18" x 24"</option>
<option value="20 x 30">20" x 30"</option>
<option value="30 x 40">30" x 40"</option>
</select>
<?php
}else if($specqId == 8){
?>
<select id="size" name"size">
<option value="8.5 x 11">8.5" x 11"</option>
</select>
<?php
}else {
?>
<input type="text" name="a1" id="a1" value="" size="30"/>
<?php }//end else ?>
$ _POST看起来应该是这样的:
array('size' => /* Selected value */, 'a1' => /* Input value */);