Obecnie tworzę małą aplikację internetową o podobnej funkcjonalności dla wszystkich modułów. Chcę zakodować małe ogólne funkcje, tak aby wszyscy programiści znajdujący się obok mnie wywoływały te funkcje, a te funkcje zwracały niezbędne, ale ważne dane, aby mogły zaimplementować swoją funkcjonalność. W tym przykładzie próbuję uporać się z typowym ćwiczeniem "wybierz prawdę lub fałsz". Więc z template.php nazywają tę funkcję:JavaScript: zmienna TypeError jest niezdefiniowana
function checkAnswers(){
var radiobuttons = document.form1.exer1;
var correctAnswers = answers(); //this is an array of string
var checkedAnswers = checkExerciseRB(radiobuttons, 2, correctAnswers);
for(i=0; i<checkedAnswers.length; i++){
alert(checkedAnswers[i]);
}
}
Funkcja checkExerciseRB jest moją funkcję rodzajowy, jest wywoływana z checkAnswers.
function checkExerciseRB(rbuttons, opciones, correct){
var answers = new Array();
var control = 0;
for(i=0; i<rbuttons.length; i++){
var noPick="true";
for(j=0; j<opciones; j++){
if(rbuttons[control+j].checked){
if(rbuttons[control+j].value==correct[i]){
answers[i]= 1;
noPick="false";
break;
}
else{
answers[i]=2;
noPick="false";
break;
}
}
}
if(noPick=="true")
answers[i]=0;
control=control+opciones;
}
return answers;
}
Działa świetnie, ale patrząc na moich ulubionych przeglądarek (Firefox, Chrome) log błąd mówi:
TypeError: rbuttons[control + j] is undefined
Każda wskazówka, w jaki sposób radzić sobie z tego sprawy?
Odpowiedzi uczące ludzi, jak łowić i karmić się są zawsze lepsze niż dawanie ryb na jeden dzień! –