1

我想知道是否有人可以帮助我。

首先,抱歉,我确信这是一个非常简单的解决方法,但我找不到答案。

我正在使用下面的脚本来创建一个下拉菜单。一旦从中选择了一个值,就会检索相关记录。

<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.

正如我所说,我为这个简单的问题道歉,但我一直在寻找答案。

我只是想知道是否有人可以让我知道我哪里出错了。

非常感谢和问候

4

2 回答 2

1

将您的选择语句更改为:

echo '<select id="dropdown" name="dropdown" onchange="ajaxFunction(this.value)">

将您更改<body>为:

<body onLoad="document.getElementById('dropdown').focus()" > 
于 2012-04-23T13:40:42.327 回答
1

从标签中取出name="name"属性。<option>

将属性添加name="dropdown"到您的<select>标签。

然后你onLoad会工作正常。无需更改它。

<option>标签不支持 name 属性。

阅读更多: http ://www.w3schools.com/tags/tag_option.asp

于 2012-04-23T13:50:41.613 回答