2017-02-22 32 views
0

我不断收到此错误丢失),由于这两条线路:不断收到语法错误:之后参数列表

document.getElementById('button').innerHTML = '<p><button 
    onClick = "MultiAnswer('+ questions[output] + ',' + answer[output] 
    +');">Submit</button></p>'; 

而且我想不通,我错过了什么。

编辑:这是周围的代码(原谅混乱)包含使用switch语句确定所需数组的输入的方法,从那里将它放入DisplayQuestion的参数中,然后将它传递给下面的函数行为就想:

function MultiQuest(questions, choices, answer){ 
    var output = Math.floor(Math.random() * (questions.length)); 
    var choicesOut = []; 

    document.getElementById('question').innerHTML = '<p id = "Q1">' + questions[output] + '<p><br>'; 

    for(var k = 0;k < choices[output].length; k++){ 
     choicesOut.push('<p><input id = "choice'+[k]+'" type = "radio" name = "option" value="'+choices[output][k]+'">' + choices[output][k] + '<p>');  
    } 
    document.getElementById('answers').innerHTML = choicesOut.join(""); 
    document.getElementById('button').innerHTML = '<p><button onClick = "MultiAnswer('+ questions[output] + ',' + answer[output] +');">Submit</button></p>'; 
    document.getElementById('score').innerHTML = '<p>' + score + '<p>'; 
} 

function MultiAnswer(questions, answer, pageType){ 

    var currentQuestion = document.getElementById('Q1').textContent; 
    var number = multiQuestions(currentQuestion, questions); 
    var correctAnswer = answer[number]; 
    var givenAnswer; 

    var options = document.getElementsByName('option'); 
    var i 
    for(i = 0; i < options.length; i++){ 
     if(options[i].checked){ 
      givenAnswer = options[i].value; 
     } 
    } 

    if(givenAnswer == correctAnswer){ 
     alert("Right Answer!"); 
     score++; 
    } else { 
     alert("Wrong Answer!"); 
     score = 0; 
    } 
    i = 0; 
    DisplayQuestion(pageType); 
} 

function multiQuestions(currentQuestion, whichArray){ 
    for(var i = 0; i < multiquestions.length; i++){ 
     if(currentQuestion == whichArray[i]){ 
      return i; 
     } 
    } 
    return null; 
} 
+0

请粘贴代码和标记导致该问题的线路。 –

+0

这很可能不是您在此粘贴的代码,因为我可以复制并粘贴该代码而不会收到相同的错误。显示更多周围的代码 - 这可能是导致这一问题的一两个问题。 – Jason

+0

你有不同的代码行吗?由于您正在构建一个字符串,因此可能会导致该问题。因为js行工作正常https://jsfiddle.net/cmhb465u/15/ – Imprfectluck

回答

1

你不能有一个函数调用是这样的:

MultiAnswer('+ questions[output] + ',' + answer[output] 
+') 

您需要评估在一个单独的可变参数,然后通过它的功能。

0

因此,在您的onAction multiAnswer调用中,您将3个输入用引号括起来。引用您的multiAnswer函数后,您确实有3个您正在寻找的输入。这些输入的末尾还有+号。你不需要连接函数调用中的parens。

我希望这有助于! https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions

onClick = "MultiAnswer(questions[output] + ',' + answer[output] 
)">Submit</button></p>'; 
相关问题