enter image description here我想将选项值传递给另一页。为此,我有一些选择。此外,还有一个“其他”选项,其中输入字段是隐藏的。我的JavaScript代码有效,即;选择“其他”会出现所需的文本输入。但是,在传递值(提交)时,“其他”选项(输入字段)传递值,但不传递常规选项。
function CheckColors(val) {
var element = document.getElementById('color_change');
if (val == 'pick a color' || val == 'others')
element.style.display = 'block';
else
element.style.display = 'none';
}
<form action="action_dropdown.php" method="post">
<select name="color" onchange='CheckColors(this.value);'>
<option>pick a color</option>
<option value="red">RED</option>
<option value="blue">BLUE</option>
<option value="others">others</option>
</select>
<input type="text" name="color" id="color_change" style='display:none;' />
<input value="calculation" type="submit">
</form>
$myVariable = $_POST["color"];
echo $myVariable;
我希望我的输出是红色/蓝色/(选择其中任何一个时)。 再次,我希望输出为黄色(当我选择“ ohters”并输入“ yellow”时。)
成为新手,希望您的亲切合作。
答案 0 :(得分:0)
您需要使用其他任何方式重命名输入元素:
<form action="action_dropdown.php" method="post">
<select name="color" onchange='CheckColors(this.value);'>
<option>pick a color</option>
<option value="red">RED</option>
<option value="blue">BLUE</option>
<option value="others">others</option>
</select>
<input type="text" name="othercolor" id="color_change" style='display:none;' />
<input value="calculation" type="submit">
</form>
提交表单后,您需要检查是否设置了othercolor
。因此,您可以获得如下所示的颜色值:
$selectedColor = ($_POST['color'] == "others" ) ? $_POST['othercolor']: $_POST['color'];
因此,您将可以访问选择值和输入值。希望对您有帮助!