我以前从未使用过 Ajax,我正在尝试学习它(我喜欢在像同事建议的那样去 jquery 之前了解一些东西)。我有一个以单选按钮开头的页面(从数据库中获取的选项),onselect 应该触发一个新的单选按钮(同样,从数据库中获取的选项)。我从简单地显示初始“选择”的结果开始,但是当我从单选按钮中选择某些内容时没有任何反应,我真的不明白为什么。如果有人能够告诉我为什么这不符合我的预期,我会很高兴。
提前致谢
主页:
<html>
<head>
<script>
function showGlycopeptides(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtField").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtField").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getglycopeptides.php?q="+str,true);
xmlhttp.send();
}
</script>
<title>LeidenGlycoPeptide DataBase</title>
</head>
<body>
<h1>Welcome to the LeidenGlycoPeptide DataBase</h1>
<?php
$link = mysql_connect("localhost","reader","") or die (mysql_error());
mysql_select_db('leidenGlycoPeptide') or die ();
$query = 'select protein from glycoPeptide';
$result = mysql_query($query);
mysql_close($link);
?>
<form>
<p>Select glycopeptide to search for (interactive dialog)</p>
<?php
echo"<select name=\"prec\" onchange=\"showGlycopeptides(this.value)\">";
echo"<option value=\"\">select glycoprotein</option>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo"<option value=\"$col_value\">$col_value</option>";
}
}
echo"</select>";
?>
</form>
<br>
<div id="txtField"><b>Text field</b></div>
</body>
获取糖肽.php:
<html>
<head>
<title>glyco</title>
</head>
<body>
<?php
$q=$_GET["q"];
$link = mysql_connect("localhost","reader","") or die (mysql_error());
mysql_select_db("leidenGlycoPeptide",$link) or die();
$query = "select glycoType from run,glycoPeptide where run.id = glycoPeptide.id and glycoPeptide.protein like '".$q."'";
echo "<select name=\"type\" onchange=\"foo\">";
echo "<option value=\"\">select glycosylation</option>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
foreach ($row as $col_value)
{
echo"<option value=\"$col_value\">$col_value</option>";
}
}
echo "</select>";
$result = mysql_query($query);
mysql_close($link);
?>
</body>
</html>
----已编辑----
对代码进行了编辑,以便它们可以作为示例(供其他人使用)。