Cannot read property ‘value’ of null
无法读取null的属性“value”
运行的时候发现:
代码是这样子的:
<html>
<head>
<title>采用局部刷新 </title>
<script type="text/javascript">
function doAjax(){
//1、创建异步对象
var xmlHttp = new XMLHttpRequest();
//2、绑定事件
xmlHttp.onreadystatechange = function (){
//处理服务器端返回的数据,更新当前页面
alert("readyState属性值 = "+xmlHttp.readyState +" | status:"+xmlHttp.status)
if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
alert(xmlHttp.responseText);
}
}
//3、初始请求数据
var w = document.getElementById("w").value;
var h = document.getElementById("h").value;
var name = document.getElementById("name").value;
//bmiPrint?name = 李四&w=82&h=1.8
var param = "name="+name+"&w="+w+"&h="+h;
alert("param = "+param);
xmlHttp.open("get","bmiAjax?"+param,true);
//4、发起请求
xmlHttp.send();
}
</script>
</head>
<body>
<p>采用局部刷新</p>
<div>
姓名:<input type="text" name="name"> <br/>
体重(公斤):<input type="text" name="w"> <br/>
身高(米):<input type="text" name="h"> <br/>
<input type="button" value="计算bmi" onclick="doAjax()">
</div>
</body>
</html>
注意看,我在3、初始请求数据哪里写的是
var w = document.getElementById("w").value;
getElementById
是 ById
是 id
要使用的是id,而我没有id,程序自然找不到就会报null
改成:也就是把name属性改为id属性
<div>
姓名:<input type="text" id="name"> <br/>
体重(公斤):<input type="text" id="w"> <br/>
身高(米):<input type="text" id="h"> <br/>
<input type="button" value="计算bmi" onclick="doAjax()">
</div>
然后就可以正常运行了
类似的还有
getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用
getElementsByName() 方法可返回带有指定名称的对象的集合。查询元素的 name 属性,而不是 id 属性
getElementsByTagName() 方法返回元素的顺序是它们在文档中的顺序的第一个对象的引用
nbsp;