Php javascript document.submit不适用于所有浏览器

Php javascript document.submit不适用于所有浏览器,php,javascript,browser,Php,Javascript,Browser,我的代码有问题,当用户在第一个选择菜单中选择“事件”时,它会用数据库中的选项更新第二个菜单。第二个菜单在某些浏览器(如IE和Chrome)中没有更新,但在其他浏览器(如firefox)中效果良好 我不太清楚是什么问题,如果有任何帮助,我们将不胜感激。 谢谢 我目前拥有的代码如下- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascri

我的代码有问题,当用户在第一个选择菜单中选择“事件”时,它会用数据库中的选项更新第二个菜单。第二个菜单在某些浏览器(如IE和Chrome)中没有更新,但在其他浏览器(如firefox)中效果良好

我不太清楚是什么问题,如果有任何帮助,我们将不胜感激。 谢谢

我目前拥有的代码如下-

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function events()
{
   document.eventform.submit();
}
</script>

<?
require_once('dbconnect.php');

$sql="SELECT id, event FROM events ORDER BY id DESC";
$result=mysql_query($sql);

$options1="";

while ($row=mysql_fetch_array($result)) {

$id=$row["id"];
$event=$row["event"];
$options1.="<OPTION VALUE=\"$event\">".$event;'</OPTION>';

}
$eventis = $_GET['event'];
$sql = "SELECT * FROM events WHERE event='$_GET[event]' ORDER BY id DESC";  
$result=mysql_query($sql);

$options2="";

while ($row=mysql_fetch_array($result)) {

$id=$row["id"];
$location1=$row["location1"];
$location2=$row["location2"];
$location3=$row["location3"];
$location4=$row["location4"];
  $options2.="<OPTION VALUE=\"$location1\">".$location1;'</OPTION>';
$options2.="<OPTION VALUE=\"$location2\">".$location2;'</OPTION>';
$options2.="<OPTION VALUE=\"$location3\">".$location3;'</OPTION>';
$options2.="<OPTION VALUE=\"$location4\">".$location4;'</OPTION>';

}
?>
</head>
<body>


<form action=""  name="eventform" class="style1" id="eventform" onchange="events()">
  <p align="center">


Step 1: 
  <select name="event" id="event">
  <OPTION VALUE=0>Select Event:
  <?=$options1?>
  </select> 
  &nbsp;</label>
  <?php echo $eventis ?></p>
  <div align="center"></div>
  <div align="center"></div>
 </form>

 <form action='sale.php' name= 'locationform' method='get'>

<div id="eventname"></div>
<p align="center">Step 2: Select the location:
  <select name="location"  id="location">
 <OPTION VALUE=0>Select Location:
  <?=$options2?>
 </select>
</p>
<p align="center">
<input name="event" type="hidden" id="event" value="<?php echo $eventis ?>">
<input name="operator" type="hidden" id="operator" value="<?php echo $operator ?>">
<input type="submit" value="Submit" />
</form>
</p>

</body>
</html>

函数事件()
{
document.eventform.submit();
}

步骤1: 选择事件:

步骤2:选择位置: 选择位置:


首先,你没有选择你的形式

document.eventform.submit()

如果未选择表单,则需要使用

document.forms[“eventform”].submit()

或者使用
getElementById
选择表单

第二,你的html有点糟糕:)但我不认为这是问题所在。我想我会让你知道的。

在这两种情况下都添加结束标记
选择事件:

选择位置:

它是有效的HTML吗?如果没有,那么您就不能期望它工作(尽管无效的HTML是被高度容忍的)。此外,您可能还需要研究SQL注入。onchange不应该在select而不是表单上吗。。但理想情况下,您不会在更改select值的情况下提交表单,而只是将选项更改为第二个select(无论是通过ajax还是为第二个select使用几个预加载的选项集之一)。感谢ghbarratt,这正是问题所在!另外,将value属性用引号括起来是一种很好的做法;)