HTML,Javascript,PHP - 选择菜单+其他输入框



我正在尝试制作一个包含一些选项的下拉菜单,以及允许用户输入自己的值的"其他"。

我已经这样做了,但是保存的唯一值是文本输入框中的值,如果我不选择其他,而是从菜单中选择一个值,则该值为空。

<?php $val = $_POST["Room"]; ?> 
// the value here is blank when choosing the drop down menu options.

这是我的代码(相关部分):

JavaScript 函数:

<script type="text/javascript">
    function checkSelectedValue(val){
    var element=document.getElementById('roomnumber');
    if(val=='other'){
        element.style.display='block';}
    else{
        element.style.display='none';}
    }
</script>
<p><label>Room number:<br>
    <select name="Room" size=4 onChange='checkSelectedValue(this.value);'>
    <option value="1/201" selected="selected">1/201</option>
    <option value="2/201">2/201</option>
    <option value="3/201">3/201</option>
    <option value="other">Other</option>
    </label></select>
    <input type="text" name="Room" id="roomnumber" style='display:none;'/> </p>
HTML 中的下拉菜单:

和PHP:

$val6 = $_POST["Room"];
// I continue to write values into a .csv file and such...

为什么当选择其他输入框时,它只拾取输入框写入的值?

提前感谢!

更改

<input type="text" name="Room" id="roomnumber" style='display:none;'/>

<input type="text" name="Roomnumber" id="roomnumber" style='display:none;'/>

然后在 php 代码中像下面这样

<?php 
      $val = $_POST["Room"];
      if($val=='other'){
          $val = $_POST["Roomnumber"];
      }
?> 

你只需更改输入框名称,因为输入类型中只有一个名称,lst 名称值得到这个. 像这样

<input type="text" name="Roomno" id="roomnumber" style='display:none;'/>

最新更新