Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取数组的属性_Javascript_Jquery_Arrays_Oop_Dynamic - Fatal编程技术网

Javascript 无法读取数组的属性

Javascript 无法读取数组的属性,javascript,jquery,arrays,oop,dynamic,Javascript,Jquery,Arrays,Oop,Dynamic,我有一个非常复杂的页面,它使用动态信息生成一个包含正确和相关信息的布局 我将数据存储为一个对象。我基本上有15个对象,其中包含用户提交数据的多个字段 所有内容都正确地存储和输出在页面上,但是现在,当用户试图从编辑页面编辑信息时,我尝试验证和输出信息。这些信息都是正确生成和布局的,但是我在验证这些信息时不断遇到同样的错误 验证应通过并确定字段是否正确填写,以及是否未记录变量并将其添加到警报变量。一旦我运行完验证函数,它就会弹出一个警报,提示哪些字段仍然需要填写 当它通过for循环向底部运行时,我一

我有一个非常复杂的页面,它使用动态信息生成一个包含正确和相关信息的布局

我将数据存储为一个对象。我基本上有15个对象,其中包含用户提交数据的多个字段

所有内容都正确地存储和输出在页面上,但是现在,当用户试图从编辑页面编辑信息时,我尝试验证和输出信息。这些信息都是正确生成和布局的,但是我在验证这些信息时不断遇到同样的错误

验证应通过并确定字段是否正确填写,以及是否未记录变量并将其添加到警报变量。一旦我运行完验证函数,它就会弹出一个警报,提示哪些字段仍然需要填写

当它通过for循环向底部运行时,我一直收到一个错误。它表示“UncaughtTypeError”无法读取未定义的属性“questionNumber”

在下面的代码上面,我存储了对象和属性,但是这个函数是所有事情都出错的地方。请注意,qtest对象中还有15个数组,但为了简化起见,我删除了所有数组,只有少数数组除外

我已经将其用于更小、更简单的表单,但是由于复杂性和存储方法,我认为这可能缺少一些内容,或者我可能无法正确访问某些内容。代码很长,而且在下面,我已经尽可能地缩减了。如果您有任何见解或帮助,我将不胜感激。谢谢大家!

var validateQ = function(qTextID, qAnswerType, TFID, MCID, MCText1, MCText2, MCText3, MCText4, VisRef, Youtube, Vimeo, ImgID) {
    if (document.getElementById('ItemName').value == "") {
        var quizName = true;
    };
    if (jQuery('select[name="CAT_Custom_14"]').val() == 'Quiz') {
        if (jQuery(qTextID).val() == "") {
            var qText = true;
        };
        if (jQuery('CAT_Custom_249').val() == " ") {
            var quizscore1 = true;
        };
        if (jQuery(qAnswerType).val() == " ") {
            var answertype = true;
        } else if (jQuery(qAnswerType).val() == 'True/False') {
            if (!jQuery(TFID).is(':checked')) {
                var tfanswer = true;
                var mcanswer = false;
            };
        } else if (jQuery(qAnswerType).val() == 'Multiple Choice') {
            if (!jQuery(MCID).is(':checked')) {
                var mcanswer = true;
                var tfanswer = false;
            };
                if (jQuery(MCText1).val() == "" || jQuery(MCText2).val() == "" || jQuery(MCText3).val() == "" || jQuery(MCText4).val() == "") {
                    var mcTextfields = true;
                } else {
                    mcTextfields = false;
                };
            };
    } else if (jQuery('select[name="CAT_Custom_14"]').val() == 'Survey') {
        if (jQuery(qTextID).val() == "") {
            var qText = true;
        };
        if (!jQuery(sAnswers1).is(':checked')) {
            var surveyAnswers1 = true;
        } else {
            surveyAnswers1 = false;
        };
    };
        if (jQuery(VisRef).val() != " ") {
            if (jQuery(VisRef).val() == "Youtube Video" && jQuery(Youtube).val() == "") {
                var youtubeVal = true;
            } else if (jQuery(VisRef).val() == "Vimeo Video" && jQuery(Vimeo).val() == "") {
                var vimeoVal = true;
            } else {
                //               validateImage(ImgID);
            };
        } else {
            youtubeVal = false;
            vimeoVal = false;
            var tempImgCheck = false;
        };
        if (numCheck == 15) {
            numCheck = 16;
        };
    var qName = "- Quiz or Survey Name\n";
    var shortDescription = "- A short description of the Quiz/Survey\n";
    var scoreMessage = "- A required passing score\n";
    var QTextMessage = "- Question text\n";
    var answerTMessage = "- An answer type\n";
    var mcFields = "- The Multiple Choice answer fields\n";
    var mcMessage = "- The correct Multiple Choice Answer\n"
    var tfMessage = "- The correct True/False answer\n";
    var vimMessage = "- A Vimeo Video code\n";
    var ytMessage = "- A Youtube Video code\n";
    var imgMessage = "- A reference image\n";
    var surveyMessage = "- An answer type\n";
    if (quizName == true || quizscore1 == true || qText == true || answertype == true || tfanswer == true || mcanswer == true || mcTextfields == true || youtubeVal == true || vimeoVal == true || tempImgCheck == true || surveyAnswers1 == true) {
        var alertText = "It appears that you have not finished completing question" + question[i].questionNumber + ". Please ensure that you have completed the following question fields.\n";
        if (quizName == true) {
            alertText = alertText + qName;
        };
        if (quizscore1 == true) {
            alertText = alertText + scoreMessage;
        };
        if (qText == true) {
            alertText = alertText + QTextMessage;
        };
        if (answertype == true) {
            alertText = alertText + answerTMessage;
        };
        if (tfanswer == true) {
            alertText = alertText + tfMessage;
        };
        if (mcanswer == true) {
            alertText = alertText + mcMessage;
        };
        if (mcTextfields == true) {
            alertText = alertText + mcFields;
        };
        if (youtubeVal == true) {
            alertText = alertText + ytMessage;
        };
        if (vimeoVal == true) {
            alertText = alertText + vimMessage;
        };
        if (tempImgCheck == true) {
            alertText = alertText + imgMessage;
        };
        if (surveyAnswers1 == true) {
            alertText = alertText + surveyMessage;
        };
        if (quizscore1 == true) {
            alertText = alertText + scoreMessage;
        };
        confirm(alertText);
    };
};

    var numCheck = 1;
var checkQuizQ = function() {
    for (j = 1; j<= qtest.length; j++) {
        numCheck = numCheck + 1;
        if (qtest[j].questionNumber == "1") {
            validateQ("CAT_Custom_3", "CAT_Custom_8", "CAT_Custom_19", "CAT_Custom_18", "CAT_Custom_4", "CAT_Custom_5", "CAT_Custom_6", "CAT_Custom_7", "CAT_Custom_9", "CAT_Custom_10", "CAT_Custom_11", "CAT_Custom_12", "CAT_Custom_230");
        } else if (qtest[j].questionNumber == "2") {
            validateQ("CAT_Custom_20", "CAT_Custom_21", "CAT_Custom_29", "CAT_Custom_26", "CAT_Custom_22", "CAT_Custom_23", "CAT_Custom_24", "CAT_Custom_25", "CAT_Custom_30", "CAT_Custom_31", "CAT_Custom_32", "CAT_Custom_33", "CAT_Custom_231");
        } else if (qtest[j].questionNumber == "3") {
            validateQ("CAT_Custom_35", "CAT_Custom_36", "CAT_Custom_37", "CAT_Custom_40", "CAT_Custom_41", "CAT_Custom_42", "CAT_Custom_43", "CAT_Custom_44", "CAT_Custom_45", "CAT_Custom_46", "CAT_Custom_47", "CAT_Custom_48", "CAT_Custom_232");
        } else if (qtest[j].questionNumber == "4") {
      };
    };
document.getElementById('catcustomcontentbutton').style.display = "block";
document.getElementById("qsValidate").style.display = "none";
};
var validateQ=function(qTextID、qAnswerType、TFID、MCID、MCText1、MCText2、MCText3、MCText4、VisRef、Youtube、Vimeo、ImgID){
if(document.getElementById('ItemName')。值==“”){
var quizName=true;
};
if(jQuery('select[name=“CAT_Custom_14”]”)。val()=“quick”){
if(jQuery(qTextID).val()==“”){
var qText=true;
};
if(jQuery('CAT_Custom_249').val()=“”){
var quizscore1=真;
};
if(jQuery(qAnswerType).val()==“”){
var answertype=真;
}else if(jQuery(qAnswerType).val()=='True/False'){
如果(!jQuery(TFID).is(':checked')){
var-tfanswer=true;
var mcanswer=假;
};
}else if(jQuery(qAnswerType).val()==“多项选择”){
如果(!jQuery(MCID).is(':checked')){
var mcanswer=真;
var-tfanswer=false;
};
if(jQuery(MCText1).val()=“”| | jQuery(MCText2).val()=“”| | jQuery(MCText3.val()=“”| | jQuery(MCText4.val()=“”){
var mcTextfields=true;
}否则{
mcTextfields=false;
};
};
}else if(jQuery('select[name=“CAT_Custom_14”]”)。val()=“Survey”){
if(jQuery(qTextID).val()==“”){
var qText=true;
};
如果(!jQuery(sAnswers1).is(':checked')){
var surveyAnswers1=真;
}否则{
surveyAnswers1=假;
};
};
if(jQuery(VisRef.val()!=“”){
if(jQuery(VisRef.val()=“Youtube视频”&&jQuery(Youtube.val()==”){
var youtubeVal=true;
}else if(jQuery(VisRef.val()=“Vimeo视频”&&jQuery(Vimeo.val()=”){
var vimeoVal=真;
}否则{
//验证图像(ImgID);
};
}否则{
youtubeVal=false;
vimeoVal=false;
var tempImgCheck=false;
};
如果(numCheck==15){
numCheck=16;
};
var qName=“-测验或调查名称\n”;
var shortDescription=“-测验/调查的简短描述\n”;
var scoreMessage=“-要求的及格分数\n”;
var QTextMessage=“-Question text\n”;
var answerTMessage=“-答案类型\n”;
var mcFields=“-多选答案字段\n”;
var mcMessage=“-正确的多选答案\n”
var tfMessage=“-正确的真/假答案\n”;
var vimMessage=“-A Vimeo视频代码\n”;
var ytMessage=“-A Youtube视频代码\n”;
var imgMessage=“-A reference image\n”;
var surveyMessage=“-答案类型\n”;
如果(quizName==true | | | | quizcore1==true | | qText==true | | answertype==true | | mcanswer==true | | mcTextfields==true | | youtubeVal==true | | | eoval==true | | tempImgCheck==true | | | surveyAnswers1==true){
var alertText=“您似乎还没有完成问题“+问题[i]。问题编号+”。请确保您已完成以下问题字段。\n”;
if(quizName==true){
alertText=alertText+qName;
};
if(quizscore1==true){
alertText=alertText+scoreMessage;
};
如果(qText==true){
alertText=alertText+QTextMessage;
};
if(answertype==true){
alertText=alertText+answerTMessage;
};
if(tfanswer==true){
alertText=alertText+tfMessage;
};
如果(mcanswer==true){
alertText=alertText+mcMessage;
};
如果(mcTextfields==true){
alertText=alertText+mcFields;
};
if(youtubeVal==true){
alertText=alertText+ytMessage;
};
如果(vimeoVal==true){
alertText=alertText+vimMessage;
};
if(tempImgCheck==true){
alertText=alertText+imgMessage;
};
如果(surveyAnswers1==真){
alertText=alertText+调查信息;
};
if(quizscore1==true){
alertText=alertText+scoreMessage;
};
for (j = 0; j< qtest.length; j++) {
    //
}