2
<body>
<form method="post" action="eex4.php">
  <label for="text_2">Select the Scheme:&nbsp;&nbsp;&nbsp;</label>
  <select name="users" id="users">
    <option value="">Select:</option>
    <option value="1">Sem1</option>
    <option value="2">Sem2</option>
    <option value="3">Sem3</option>
    <option value="4">Sem4</option>
    <option value="5">Sem5</option>
    <option value="6">Sem6</option>
  </select>
  &nbsp;&nbsp;&nbsp;
  <input type="submit" value="Submit" name="btn" onClick="ResultPage()"/>
</form>
</body>

上面的代码输出有带有提交按钮的选择框。当我单击提交按钮时,它会调用脚本。

<script>
function ResultPage()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
 var select = document.getElementById('users');
 var sem = select.options[select.selectedIndex].value;
 var uurl = "eex4.php?q=" + sem;

xmlhttp.open("GET",uurl,true);
xmlhttp.send();
}
</script>

我需要传递一个选择框的值,我选择了哪个选项并发送到以下 php 文件。

eex4.php

<?php
$schm = $_GET['sem'];
$txt1 = "Semester";
echo $txt1 ." ". $schm;
?> 

我的预期结果是:

“学期[选项值有选择]”但它只是显示“学期”

任何人都可以找到错误..

4

6 回答 6

2

利用

$schm = $_GET['q'];

因为你路过q这里

var uurl = "eex4.php?q=" + sem;

问题出在您的表单上,当您单击提交按钮时,它会将数据发布到eex4.php并仅显示Semester

改变

<input type="submit"

<input type="button"

因此,当您单击此按钮时,内容将加载到页面中而无需刷新页面。

于 2013-03-16T12:28:58.103 回答
0

ajax 部分取自 w3schools。你只需要更换$schm = $_GET['sem']; to $schm = $_GET['q'];

于 2013-03-16T12:31:05.240 回答
0

改变

var uurl = "eex4.php?q=" + sem;

var uurl = "eex4.php?sem=" + sem;

因为您在 eex4.php 中获得了 'sem' 但将 'q' 传递给它

于 2013-03-16T12:31:37.337 回答
0

改变

$schm = $_GET['sem'];

$schm = $_GET['q'];
于 2013-03-16T12:33:49.253 回答
0

你通过 through 传递价值q

$schm = $_GET['q'];
于 2013-03-16T12:34:17.877 回答
0
   <body>
  <div id="txtHint"></div>
  <form method="post" action="eex4.php">
  <label for="text_2">Select the Scheme:&nbsp;&nbsp;&nbsp;</label>
  <select name="users" id="users">
    <option value="">Select:</option>
    <option value="1">Sem1</option>
    <option value="2">Sem2</option>
    <option value="3">Sem3</option>
    <option value="4">Sem4</option>
    <option value="5">Sem5</option>
    <option value="6">Sem6</option>
  </select>
  &nbsp;&nbsp;&nbsp;
  <input type="submit" value="Submit" name="btn" onClick="return ResultPage()"/>
</form>
</body>



<script>
function ResultPage()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
 var select = document.getElementById('users');
 var sem = select.options[select.selectedIndex].value;
 var uurl = "eex4.php?q=" + sem;

xmlhttp.open("GET",uurl,true);
xmlhttp.send();
return false;
}
</script>

eex4.php

<?php
$schm = $_GET['sem'];
$txt1 = "Semester";
echo $txt1 ." ". $schm;
?> 
于 2013-03-16T12:37:52.590 回答