需要$post文本,而不是下拉所选元素的值


Need to $post text, not value of a dropdown selected element

<select name="months" id="months" >
        <option value="0" >Select Months *</option>
        <option value="3000" >6 Months</option>
        <option value="6000" >12 Months</option>
        <option value="9000" >18 Months</option>
</select>

$message .= "<br>Selected Months : " . $_POST['months']; 

需要$post文本,而不是下拉所选元素的值。

您不能发布文本。您只能发布任何输入类型的值。

要发布文本,请更改选择框:

<select name="months" id="months" >
        <option value="0" >Select Months *</option>
        <option value="6 Months" >6 Months</option>
        <option value="12 Months" >12 Months</option>
        <option value="18 Months" >18 Months</option>
</select>

如果要发布文本和值,请使用隐藏字段来存储所选项目的文本,然后再提交表单,通过JS或jQuery将文本放入该隐藏字段中。 您将通过该隐藏字段获得文本。

您应该更改value

<select name="months" id="months" >
        <option value="0" >Select Months *</option>
        <option value="6 Months" >6 Months</option>
        <option value="12 Months" >12 Months</option>
        <option value="18 Months" >18 Months</option>
</select>

毕竟,发布的值是。

您可以通过以下方式执行此操作:

array-config.php - 一个配置文件,其中包含可根据需要包含的选择框选项。

<?php
$select_box = array(
  '0' => 'Select Months *',
  '3000' => '6 Months',
  '6000' => '12 Months',
  '9000' => '18 Months',
);
?>

HTML (PHP 脚本)

<?php
include_once('array-config.php');
echo '<select name="months" id="months">';
foreach($select_box as $key => $val) {
   echo '<option value="' . $key . '">' . $val . '</option>';
}
echo '</select>';
?>

表单检索脚本

<?php
include_once('array-config.php');
$message .= "<br>Selected Months : " . $select_box[$_POST['months']];
?>

希望对您有所帮助。