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

时间:2016-02-26 11:18:09

标签: javascript php html

我正在尝试制作一个带有一些选项的下拉菜单,并选择“其他”,这将允许用户输入自己的值。

我已经完成了这个,但是保存的唯一值是来自文本输入框的值,如果我不选择其他而是从菜单中选择一个值是空白的。

<?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...

为什么在选择其他时,它只获取输入框所写的值?

提前致谢!

2 个答案:

答案 0 :(得分:1)

更改

<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"];
      }
?> 

答案 1 :(得分:0)

您只需更改输入框名称,因为输入类型中只有一个名称,lst name value得到此名称。像这样

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