【发布时间】:2018-07-26 05:08:16
【问题描述】:
它说'未捕获的类型错误:无法读取未定义的属性'push'' 我觉得我没有以正确的方式初始化数组,请帮忙。
var validationInfo = new Array();
var currentStep = 1;
validationInfo["step1"].push({ elementId: "txtsearchBar", validateFunc: isEmpty });
validationInfo["step2"].push({ elementId: "txtdetails", validateFunc: isEmpty });
function isEmpty(element) {
//alert(element);
return $(element).val() == undefined || $(element).val() == "";
}
function isCurrentSubmissionValid(stepId) {
var isOK = true;
alert(validationInfo);
for (var i = 0; i < validationInfo[stepId].length; i++) {
var element = $("#" + validationInfo[i].elementId);
var validationFunction = validationInfo[i].validateFunc;
if (!validationFunction(element)) {
element.addClass("has-error").removeClass("has-success");
isOK = false;
} else
{
element.addClass("has-success").removeClass("has-error");
}
}
return isOK;
}
【问题讨论】:
-
validationInfo["step1"]未定义...与另一个类似...您需要将validationInfo创建为对象 -
如果我在上面将它定义为 var validationInfo = ["step1", "step2"] 那么推送功能会起作用吗?
-
@SmokeyDawson 还是一样的错误..
-
@AshishRanjan 你能举个例子吗?
标签: javascript