始终在AJAX调用上获取NULL

时间:2015-09-17 09:08:03

标签: javascript html ajax

我想根据第一个下拉值的值填充第二个下拉列表。为此,当我点击First Dropdown时,我正在尝试连接到我的" s_Test3_AjaxIndex.jsp"用于获取第二次下拉结果的页面。但是,我总是将 str 的值设为 null ,然后代码因 return 语句而终止。有人可以帮我解决我做错的地方,以便我可以获得我的选项标签的正确值。这里,与所需jsp的连接现在是次要部分,我甚至没有得到str的值。请帮忙。

以下是我的test.jsp页面: 注意:脚本位于头标记



function sendInfo()  
{  
	var str=document.ajaxform.class_class.value;  
	var xmlhttp;
	if (str=="")
	{
	  document.getElementById("sectionlist").innerHTML="null";
	  return;
	}
	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("sectionlist").innerHTML=xmlhttp.responseText;
	  }
	}
	xmlhttp.open("GET","s_Test3_AjaxIndex.jsp?val="+v,true);
	xmlhttp.send();	
}

<html>
<body>
<form name="ajaxform" action="#">
	<select name="class_class" onmouseup="sendInfo()">
	    <option value='' disabled="disabled" selected="selected">Select Class</option>
            <option value="1">1</option>
          	<option value="2">2</option>
          	<option value="3">3</option>
          	<option value="4">4</option>
          	<option value="5">5</option>
	</select>
	
	<br><br><br><br><br><br><br><br><br><br><br>
	<p>Select Section</p>
	<div id="sectionlist">Select Class to get Sections</div>
	
</form>
</body>
</html>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

onmouseup更改为onchange。不知道为什么,但似乎有效。

答案 1 :(得分:0)

你是绑定事件onMouseUp,这里不需要,你应该使用

<select name="class_class" onchange="sendInfo()">

答案 2 :(得分:-1)

您需要更改此行:

xmlhttp.open("GET","s_Test3_AjaxIndex.jsp?val="+v,true);

为:

xmlhttp.open("GET","s_Test3_AjaxIndex.jsp?val="+str,true);

as&#34; v&#34;变量未定义。