2

如何提交下拉列表或文本框的值。

<select>
<option value="none" selected>None</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>

<input type="text" name="newCar"/>
<input type="submit" value="Done">

如果所需的汽车不在列表中,我想将其写在文本框中并提交表格。所以应该说 1)如果从下拉列表中选择值并且文本框为空,则使用选择值 2)如果选择了默认值“none”并且在“newCar”中选择了某个值,则提交文本框值 3)如果从下拉列表中选择值列表和文本框包含值应显示错误消息

4

3 回答 3

0

命名您的选择

   <select name="cars">
    <option value="none" selected>None</option>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
    </select>

然后使用 $_POST['cars'] 获取您选择的值。

于 2013-02-08T14:53:43.013 回答
0

name="car"为选择添加:

<select name="car">
<option value="none" selected>None</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>

<input type="text" name="newCar"/>
<input type="submit" value="Done">

在 PHP 中:

$request = $_REQUEST;

$car = '';
if(isset($request['car'])){
    $car = $request['car'];
}
$newCar = '';
if(isset($request['newCar'])){
    $newCar = $request['newCar'];
}
// case 1)
if($car != 'none' AND $newCar == ''){
      echo $car." was selected selected";
}

// case 2)
if($car == 'none' AND $newCar != ''){
      echo $newCar ." was selected selected";
}

// case 3)
if($car != 'none' AND $newCar != ''){
      echo "ERROR! plz select only one option.";
}

我用你的例子,你可以优化 PHP。

于 2013-02-08T15:01:58.880 回答
0

如果您在末尾使用带有 [] 的名称,即在您的选择和输入中将名称设置为“newCar[]”,则可以使用 PHP 获取选择的值和文本框:

<select name="newCar[]">
    <option value="" selected>None</option>
    ...
</select>

<input type="text" name="newCar[]" />
<input type="submit" value="Done" />

然后你的值将在数组中$_REQUEST['newCar']

于 2013-02-08T15:13:00.213 回答