如何通过 php 传递带有"other"选项的下拉值?



在此处输入图像描述我想将选项值传递给另一个页面。为此,我有一些选择。此外,还有一个隐藏输入字段的"其他"选项。我的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"并输入"黄色"时)。

作为新手,我希望您的真诚合作。

您需要按以下方式重命名输入元素:

<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'];

因此,您将能够访问选择值和输入值。希望对您有所帮助!

最新更新