(Это мой первый Javascript проект, поэтому решение может быть очевидным для более опытных людей, но это не для меня!)Javascript не распознает функцию
Я пытаюсь кодировать входной сигнал из трех раскрывающихся списков. Контекст помогает людям оценить, соответствуют ли они критериям для помощи инвалидам.
- Первый выпадающий спрашивает, может ли человек стоять вообще или нет
(да/нет) - Следующий спрашивает, как далеко они могут идти (выбрать из диапазона расстояний
- третий спрашивает, нужно ли они какие-либо средства или приспособления
(нет/да)
в зависимости от того, насколько далеко они могут идти, они получают оценку: 12 максимальный Однако, если человек не может стоять тыс. ey автоматически получает 12 очков. также, в зависимости от того, нужны ли им какие-либо вспомогательные средства и адаптация, могут повлиять на подсчет очков.
Цель состоит в том, чтобы иметь функцию if-then-else (если реагировать на человека, который не может стоять, иначе, если создать выход, зависящий от расстояния ходьбы и необходимости адаптации, а также для создания вывода, основанного исключительно на ходьбе расстояние
Все работает нормально, если до тех пор, пока я не включил адаптацию, проблема в том, что для этого мне нужно создать переменную, основанную на значении, возвращаемом функцией «пройденный путь». «Uncaught TypeError: getdistancescore не является функцией». В кодировании нет проблем с распознаванием getdistancescore, пока я не сделаю это . Вот кодировка: (строка, которая вызывает проблемы, помечена «// это проблема»
//stand-yes-no
var standYN =[];
standYN["mp1"]=0;
standYN["mp2"]=1;
function getstandYN(){
var standscore=0;
var theForm = document.forms["mobilityform"];
var standscore = theForm.elements["mobp1"];
getstandYN = standYN[standscore.value];
return getstandYN;
}
//end standyes-no
//distances
var distances = [];
distances["mp3"]=0;
distances["mp4"]=4;
distances["mp5"]=8;
distances["mp6"]=12;
distances["mp7"]=12;
//note mp5 could be 10
function getdistancescore(){
var distancescore=0;
var theForm = document.forms["mobilityform"];
var distancescore = theForm.elements["mobp2"];
getdistancescore = distances[distancescore.value];
return getdistancescore;
}
//end distances
//needs aid or appliance yes-no
var aiappYN =[];
aiappYN["mp1"]=0;
aiappYN["mp2"]=1;
function getaiappYN(){
var aiappscore=0;
var theForm = document.forms["mobilityform"];
var aiappscore = theForm.elements["mobp3"];
getaiappYN = aiappYN[aiappscore.value];
return getaiappYN;
}
//end needs aids or appliance yes-no
//CALCULATION STARTS
var ai_appscore = getaiappYN()
var standingscore = getstandYN();
//THIS IS THE PROBLEM
var walkingdistance = getdistancescore();
//END THIS IS THE PROBLEM
if (standingscore == 1){
var actualscore = 12
}
//extra 'else if' to go here
else {
var actualscore = getdistancescore();
}
//CALCULATION ENDS
//display results
var divobj = document.getElementById("score");
divobj.innerHTML="Total Score "+actualscore;
var divobj = document.getElementById("check");
divobj.innerHTML="Check "+standingscore;
}
Извините, если я не объяснил это очень хорошо и продолжил вопрос. Я искал в широком диапазоне справочных сайтов, но не могу найти ничего, что объясняет, что происходит
Doh! соответственно изменила мою кодировку и устранила проблему. Большое спасибо, особенно за то, что так ясно объяснили то, что должно быть очевидно для вас! –