无法将组合框值传递给ajax

时间:2014-11-04 17:31:13

标签: ajax

我正在尝试将组合框值传递给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。请建议解决方案

1 个答案:

答案 0 :(得分:0)

将此行保留为函数showUser()

中的第一行
val = document.getElementById("sem").value;

原因在于,获取选择框值的方式不合适。从html元素发送值不是标准,必须避免。