日期:2014-05-16  浏览次数:20371 次

ajax POST传值总不行帮忙看下哪错了 谢谢。 。。
总报xmlHttp is not defined 为什么啊?

<body>
<form method="post">
<input type="text" name="username"/>
<input type="password" name="password"/>
<div id="gbqfb" class="ajax-sub" type="submit" onclick="substi();">登陆</div>
</form>
<div id="retu"></div>
</body>
</html>
<script>

function substi()
{
var name=document.getElementsByTagName("input")['username'].value;
  var pass=document.getElementsByTagName("input")['password'].value;

var xmlhttp;
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
  document.getElementById("retu").innerHTML=xmlhttp.responseText;
  }
  }
xmlhttp.open("POST","login.php?cc="+new Date().getTime());
post="userNo="+name+"&pwd="+pass;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(post);
}
</script>

------解决方案--------------------
function substi() {
var name = document.getElementsByTagName("input")[0].value;
var pass = document.getElementsByTagName("input")[1].value;

var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("retu").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "login.php?cc=" + new Date().getTime());
post = "userNo=" + name + "&pwd=" + pass;
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(post);
}
------解决方案--------------------
楼主 可以运行不代表正确。

http://www.w3school.com.cn/xmldom/met_document_getelementsbytagname.asp
getElementsByTagName() 方法可返回带有指定名称的所有元素的一个节点列表。

文档树中具有指定标记的 Element 节点的只读数组(从技术上讲,是 NodeList 对象)。返回的元素节点的顺序就是它们在源文档中出现的顺序。

http://www.w3school.com.cn/xmldom/dom_nodelist.asp
NodeList 对象
我们可通过节点列表中的节点索引号来访问列表中的节点(索引号由0开始)。