我正在尝试将组合框值传递给ajax但不能这样做。请帮忙。 Ajax代码如下:
var XMLHttpRequestObject = false;
function showUser(val) {
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
document.getElementById("sub").innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.open("GET", "get_test.php?val=" + val, true);
XMLHttpRequestObject.send();
}
和Html代码一样
<select name='sem' id = 'sem' style = 'margin-left: 3.4em;' class = 'shor_list'>
<option value='Null'>------Select Semester------</option>
<option value='1st'>1st</option>
<option value='2nd'>2nd</option>
<option value='3rd'>3rd</option>
<option value='4th'>4th</option>
<option value='5th'>5th</option>
<option value='6th'>6th</option>
<option value='7th'>7th</option>
<option value='8th'>8th</option>
</select>
<span onclick="showUser('sem.value');">update list</span>
但是AJAX函数没有收到select标签的id。请建议解决方案
答案 0 :(得分:0)
将此行保留为函数showUser()
中的第一行val = document.getElementById("sem").value;
原因在于,获取选择框值的方式不合适。从html元素发送值不是标准,必须避免。