我有一个 jQuery 函数,它从 PHP 生成的复选框中获取值并通过 AJAX 发送它。顺便说一句,该值始终是一个单词,只有字母。下面是脚本。
<script type="text/javascript">
$(document).ready(function() {
$("input:checkbox").on("click", function () {
step = this.value;
//document.getElementById("test").innerHTML = step;
responseArray = [];
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
responseArray = eval("(" + xmlhttp.responseText + ")");
document.getElementById("test").innerHTML = responseArray;
}
}
xmlhttp.open("GET", "checkbox.php?step="+step, true);
xmlhttp.send();
});
});
</script>
上面的代码导致“ReferenceError: [this.value] is not defined”。[this.value] 是实际值,但会根据选中的框而变化。如果您注意到上面代码中的第 5 行,当我不注释该行时,它会在“test”中为 step 变量显示正确的值,所以它是在那之后的东西。下面是 checkbox.php 文件完全简化为基本上没有,它仍然会导致错误。
<?php
$step = $_GET["step"];
echo "[" . $step . "]";
?>