Цикл Javascript не останавливается.. Мой результат исчезает через долю секунды

#javascript #function #loops #debugging

#javascript #функция #циклы #отладка

Вопрос:

Моя функция javascript запрашивает определение переменных, которые перемещают пользователя через вопросы викторины, добавляя или вычитая числа и достигая общей суммы, которая вызывается позже в HTML-форме. Все работает, но вместо того, чтобы цикл заканчивался результатом на стороне клиента, он мигает на экране и исчезает, как будто скрипт ожидает, что пользователь снова начнет задавать вопросы. Прав ли я, полагая, что проблема где-то в цикле javascript? Спасибо:

 var max_points = 28;
var total_points = 0;
var percentage_addiction = 0;

var reloadVar = "yes";

function makeChanges(currentQuestion, nextQuestion, points){
//display only needed question
document.getElementById(currentQuestion).style.display="none";
document.getElementById(nextQuestion).style.display="block";

//add total points
total_points = total_points   points;

//show image that corresponds to points
for( var i = 0; i < 15; i  )
{
    if( ( total_points > i*2 ) amp;amp; ( total_points <= (i 1)*2 ) )
    {
        //hide image that was shown previously
        document.getElementById('img'   i).style.display="none";

        //display image that corresponds points
        document.getElementById("img" (i 1)).style.display="block";
    }
}

percentage_addiction = Math.floor( (total_points/max_points)*100 );

if( nextQuestion == "result" )
{
    document.getElementById("code").style.display="block";
    //document.form1.percentage.value=escape(document.percentage); 
    location.replace('http://URL?percentage=' percentage_addiction 'amp;end=yesamp;oneSubmit=yes');
}

//update percentage in page
document.getElementById('percentage').innerHTML = percentage_addiction;
document.getElementById('percentage2').innerHTML = percentage_addiction;
}


function submitForm(){
document.form1.submit();
}
  

Комментарии:

1. вы проверяли цикл с помощью FireFox FireBug?? если нет, пожалуйста, проверьте это.

2. Я проверил скрипт в Firebug, но признаю, что я бесполезен при попытке отладки .. не знаю, что я ищу..

Ответ №1:

Перенаправление выполняется автоматически после отображения результатов:

 location.replace( 'http://URL?percentage='   percentage_addiction   'amp;end=yesamp;oneSubmit=yes' );
  

Это приводит к тому, что результат исчезает через долю секунды. Удалите его или привяжите к кнопке или ссылке в документе.