我想知道是否有人可以帮助我。
首先,道歉,我确信这是一个非常简单的修复,但我找不到答案。
我正在使用下面的脚本创建一个下拉菜单。从中选择一个值后,将检索相关记录。
<html>
<head>
<script type="text/javascript">
function ajaxFunction(name)
{
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{// code for IE6, IE5
xmlhttp=new XMLHttpRequest();
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("my_div").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getfinds.php?dateoftrip="+name,true);
xmlhttp.send();
}
function getquerystring() {
var form = document.forms['frm1'];
var word = form.word.value;
qstr = 'w=' + escape(word); // NOTE: no '?' before querystring
return qstr;
}
</script>
<style type="text/css">
<!--
.style1 {
font-family: Calibri;
font-size: 14px;
}
-->
</style>
</head>
<body onLoad="document.forms.getfinds.name.focus()" >
<form action="getfinds.php" method="get" name="getfinds">
<input name="field" type="hidden" id="field" value="">
<table width="148" border="0">
<tr>
<td width="152"><p class="style1">Select a date from below</p>
<div align="center">
<?php
include("db.php");
$query="SELECT dateoftrip FROM finds GROUP BY dateoftrip ORDER BY dateoftrip DESC";
echo '<select onchange="ajaxFunction(this.value)"><option name="name" value="allrecords">Show All Records</option>';
$result=mysql_query($query);
while($rows=mysql_fetch_array($result)){
echo "<option name='name' value=".$rows['dateoftrip'].">".$rows['dateoftrip']."</option>";
}
echo "</select>";
?>
</div></td>
</tr>
</table>
</form>
<div id="my_div"></div>
</body>
</html>
我正试图在页面加载的下拉菜单中找到一种插入光标的方法。
我尝试过使用以下内容:<body onLoad="document.forms.getfinds.dropdown.focus()" >
但是当我运行脚本时收到以下错误:document.forms.getfinds.dropdown is null or not an object.
正如我所说,我为这个简单的问题道歉,但我一直在寻找答案。
我只是想知道是否有人可以让我知道我哪里出错了。
非常感谢和问候
答案 0 :(得分:1)
将您的select语句更改为:
echo '<select id="dropdown" name="dropdown" onchange="ajaxFunction(this.value)">
将您的<body>
更改为:
<body onLoad="document.getElementById('dropdown').focus()" >
答案 1 :(得分:1)
从name="name"
标记中取出<option>
属性。
将属性name="dropdown"
添加到您的<select>
代码。
然后你的onLoad
会正常工作。无需改变它。
<option>
标记不支持name属性。