我在函数中遇到“变量未定义”错误。变量“recID”定义为:
var recID = 0;
我也有一个输入:
<input type="text" id="rdy">
我为变量赋值(这是实际分配值的修改版本,对于这个问题):
recID = 3;
然后我调用一个函数:
<a href=""><input type="button" name="button" id="button" value="Next Hypothetical" onclick='reselectState()'></a>
功能是:
<script>
function reselectState() {
var elem = document.getElementById("rdy");
elem.value = recID;
var rdy = $("#rdy").val();
alert(rdy);
location.href = '/hypothetical.cshtml?recordkey=' + rdy;
}
</script>
我得到的错误说“recID”未定义。
答案 0 :(得分:0)
这意味着recID
不是全局变量。如果您发布更多代码或完整文件,这将非常有用。另一个问题可能是recID
从未定义过。
您应该在调用reselectState
之前定义recID,如下所示:
var recID = 0;
function reselectState() {
var elem = document.getElementById("rdy");
elem.value = recID;
...
}
如果您使用这些方法中的任何一种来定义它recID
将不是全局的:
(function(){
recID = 0;
});
anotherFunction = function(){
recID = 0;
}
如果这是问题,您可以使用window
修复此问题:
(function(){
window.recID = 0;
});
anotherFunction = function(){
window.recID = 0;
}
答案 1 :(得分:0)
使用窗口或将其作为参数传递给函数。