如何从html脚本代码中获取php中的select-option值?

时间:2014-02-03 08:17:50

标签: javascript php ajax

首先,我制作了包含2个选择菜单的script-html,如下所示。

    <script>
    ....
    var selectedLang1 = document.getElementById('lang1').value;
    var selectedSubject = document.getElementById('subject').value;
    xmlhttp.open("GET","livesearchgroup_"+selectedLang1+"_"+selectedSubject
            +".php?q="+str,true);
   xmlhttp.send();
    }
   </script>

    <select name="lang1" id="lang1">
    <option value="co">한국어</option>
    <option value="en">English</option>

    <option value="af">Afrikaans</option>

    <option value="ar">Arabic</option>

    <option value="az">Azerbaijani</option>

    <option value="be">Byelorussian (Belarusian)</option>
    <option value="bg">Bulgarian</option>
    <option value="bh">Bihari</option>
    </select>

    <select name="subject" id="subject" size="2" style="width:45%;" >
     <option value="a">Infection : bacteria and virus </option>

     <option value="b">Infection : virus, fungus and etc</option>
     <option value="c">Malignant neoplasm</option>
     <option value="d">Benign neoplasm and blood </option>

     <option value="e">Endocrine, nutrition and metabolism </option>
     <option value="f">Mental and behavioral disorders</option>

     <option value="g">Nervous system</option>
     <option value="h">Eye and ear</option>
     <option value="i">Circulatory system</option>
    </select>
    <form>

     <input type="text" size="30" onkeyup="showResult(this.value)">
    </form>
    <div id="livesearchgroup"></div>

我的php代码如下。

  <?php
 $lang1=$_POST['lang1'];
 $subject=$_POST['subject'];

 $xmlDoc=new DOMDocument();
 $xmlDoc->load("ds_".$subject."_".$lang1.".xml");

但是select-option值不会出现在php代码中。 我怎样才能在php中接收这些值?

3 个答案:

答案 0 :(得分:0)

只有“选定”的值来自http请求,你无法全部获取它们。

答案 1 :(得分:0)

Javascript应该是:

    xmlhttp.open("GET","livesearchgroup.php?q="+str+'&lang1='+selectedLang1+"&subject="+selectedSubject,true);

参数必须放在?之后,而不是作为脚本名称的一部分(除非您有自动执行此操作的服务器重写规则)。

在PHP中,您应该使用$_GET,而不是$_POST

答案 2 :(得分:0)

为什么不用GET方法发送?

如果你想使用POST方法:

试试吧:

xmlhttp.open("POST","livesearchgroup.php?q=" + str,true);
xmlhttp.send("lang1=" + selectedLang1 + "&subject=" + selectedSubject + "");