我正在尝试使用javascript函数。我的问题是我得到了Uncaught ReferenceError: getExercies is not defined
这是我的代码:
build_workout_functions.js文件:
<script>
function getExercies()
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var obj = JSON.parse(xmlhttp.responseText);
select = document.getElementsByName('exericse');
select.innerHTML = "";
for (var i = 0, len = obj.length; i < len; i++)
{
var opt = document.createElement('option');
opt.value = obj[i];
opt.text = obj[i];
select.appendChild(opt);
}
}
}
xmlhttp.open("POST","get_exercise_list.php",true);
var e = document.getElementsByName("muscles");
var strUser = e.options[e.selectedIndex].text;
xmlhttp.send('muscle=' + escape(strUser));
}
</script>
页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="build_workout_functions.js"></script>
</head>
<body id="login-bg">
<div class="workout_table">
<select name="days">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
<option value="F">F</option>
</select>
<select name="muscles" onchange="getExercies()">
<option value="legs">legs</option>
<option value="back">back</option>
<option value="chest">chest</option>
</select>
<select name="exericse"><select>
</div>
</body>
</html>
您的Javascript中有太多错误,我不知道从哪里开始。首先,您有很多语法错误。您缺少onreadystatechange函数中的花括号:
xmlhttp.onreadystatechange=function() {
...
}
此外,document.getElementsByName()返回一个NodeList,而不是单个元素,因此
var e = document.getElementsByName("muscles");
var strUser = e.options[e.selectedIndex].text;
导致错误,因为e.selectedIndex未定义。您必须使用e [0] .selectedIndex和e [0] .options。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句