2015-09-17 32 views
-1

我想根據第一個下拉值的值填充第二個下拉列表。爲此,當我點擊First Dropdown時,我嘗試連接到我的「s_Test3_AjaxIndex.jsp」頁面以獲取第二個下拉列表的結果。但是,我始終得到的值爲str as null然後代碼終止,因爲返回聲明。有人可以幫我解決我做錯的地方,這樣我就可以獲得我的選項標籤的正確價值。在這裏,連接到所需的jsp現在是次要部分,我甚至沒有在這裏獲得str的值。請幫忙。在AJAX調用中始終獲得NULL

下面是我的test.jsp的頁面: 注:腳本是在頭部標籤

function sendInfo() 
 
{ 
 
\t var str=document.ajaxform.class_class.value; 
 
\t var xmlhttp; 
 
\t if (str=="") 
 
\t { 
 
\t document.getElementById("sectionlist").innerHTML="null"; 
 
\t return; 
 
\t } 
 
\t if (window.XMLHttpRequest) 
 
\t {// code for IE7+, Firefox, Chrome, Opera, Safari 
 
\t xmlhttp=new XMLHttpRequest(); 
 
\t } 
 
\t else 
 
\t {// code for IE6, IE5 
 
\t xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
 
\t } 
 
\t xmlhttp.onreadystatechange=function() 
 
\t { 
 
\t if (xmlhttp.readyState==4 && xmlhttp.status==200) 
 
\t { 
 
\t  document.getElementById("sectionlist").innerHTML=xmlhttp.responseText; 
 
\t } 
 
\t } 
 
\t xmlhttp.open("GET","s_Test3_AjaxIndex.jsp?val="+v,true); 
 
\t xmlhttp.send(); \t 
 
}
<html> 
 
<body> 
 
<form name="ajaxform" action="#"> 
 
\t <select name="class_class" onmouseup="sendInfo()"> 
 
\t  <option value='' disabled="disabled" selected="selected">Select Class</option> 
 
      <option value="1">1</option> 
 
      \t <option value="2">2</option> 
 
      \t <option value="3">3</option> 
 
      \t <option value="4">4</option> 
 
      \t <option value="5">5</option> 
 
\t </select> 
 
\t 
 
\t <br><br><br><br><br><br><br><br><br><br><br> 
 
\t <p>Select Section</p> 
 
\t <div id="sectionlist">Select Class to get Sections</div> 
 
\t 
 
</form> 
 
</body> 
 
</html>

+0

而不是隻做'xmlhttp.readyState == 4 && xmlhttp.status == 200'我會在任何情況下提醒返回,所以你知道,什麼從服務器回來調試 –

+0

@TomDoodler是的,我會記住,但請你讓我知道,爲什麼我在這裏得到str null的值:var str = document.ajaxform.class_class.value; – Rohit

+0

好吧,這是一個誤解,我沒有得到的問題^^ –

回答

-1

你需要改變這一行:

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

到:

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

爲「v」變量未定義。

+0

我認爲變量'v'已被定義在他發佈的代碼片段之外。 –

+0

對不起,這是錯字..我的錯誤。我用str替換了v,現在工作正常。感謝哈里斯和Joost – Rohit

+0

這是公認的答案?這與選擇值無關... –

1

變化從onmouseuponchange。不知道爲什麼,但它似乎工作。

+0

因爲onChange被調用時,新的選擇值設置,並onmouseup稍微有價值之前。 –

+0

謝謝,它的工作 – Rohit

0

您具有約束力這裏不需要事件onMouseUp,你應該改用

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

謝謝Rohit,它的工作原理 – Rohit