Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<;选择>;php和ajax中的标记_Php_Ajax - Fatal编程技术网

<;选择>;php和ajax中的标记

<;选择>;php和ajax中的标记,php,ajax,Php,Ajax,我有这段代码(如下)可以在FF&Chrome上运行,但在IE*上不起作用。我正在尝试用电子邮件地址填充select标记。谢谢 question.php <html> <head> <script type="text/javascript"> function myFunction(val) { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari

我有这段代码(如下)可以在FF&Chrome上运行,但在IE*上不起作用。我正在尝试用电子邮件地址填充select标记。谢谢

question.php

<html>
<head>
<script type="text/javascript">
function myFunction(val)
{   
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","qsrcipt.php?q="+val,true);
xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
 {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
 }
 }
xmlhttp.send();
}
</script>
</head>
<body onload="myFunction(document.myForm.mySelect.value)">
<form name="myForm" style="float:left; margin-right: 10px; overflow: hidden;">
    <select name="mySelect" onchange="myFunction(this.value)" size="10">
        <option value="1" selected="selected">level 1</option>
        <option value="2">level 2</option>
        <option value="3">level 3</option>
    </select>
</form>
<div>
    <select id="myDiv" size="10"></select>
</div>
</body>
</html>

函数myFunction(val)
{   
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“POST”,“qsrcipt.php?q=“+val,true”);
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.send();
}
一级
二级
三级
qsrcipt.php

   <?php
  // Fill up array with names
  $lsts = array("Anna","Brittany","Cinderella","Diana","Eva","Fiona");

  //get the q parameter from URL
  $q=$_GET['q'];
  if ($q == '1')
    {
    foreach($lsts as $lst){
        echo "<option id='1'>".$lst."</option>";
    }
    }
  else
    {
    echo "<option id='1'>this is a test</option>";
    }
  ?>

您的
$lsts
包含名称数组,而不是电子邮件


其次,与其生成HTML服务器端,不如将
$lsts
的值作为JSON编码的数组返回,并在JavaScript中动态生成选择列表。

请提供有关您想要实现的功能的更多信息,正在发生的事情以及您实际希望发生的事情。我正在尝试使用qscript.php中的响应数据填充select id=“myDiv”标记。我想知道为什么它可以在Firefox和Chrome上运行,但在IE上却无法运行。@JamWaffles很抱歉,应该是电子邮件的东西都在我的数据库中,我用了名字来代替。我会试试你的建议。Thanks@islandmyth我没有发布这个答案,用户269867发布了;-)