Показать сообщение отдельно
  #2 (permalink)  
Старый 09.06.2013, 22:11
Новичок на форуме
Отправить личное сообщение для Quality3011 Посмотреть профиль Найти все сообщения от Quality3011
 
Регистрация: 09.06.2013
Сообщений: 3

Спасибо всем кто откликнулся (т.е никому!). Отдельное тому человеку который поставил -10. Наверное он силен в JS поэтому смогу оставить лишь кривой комент к моему сообщению и эти жалкие "-10" к карме.

Привожу рабочий код: (Возможно кому нибудь пригодится)

$tab='tab'.$i; // отрывок из кода вопросы создаем циклом: каждому табу присваиваем имя+номер
if ($i==1) {$display="display:block";}  else {$display="display:none";} // на старте скрываем все кроме 1го

<div style="$display;" id="$tab" > //

// Контейнер для вопроса

<input type="hidden" id="setup_$tab" value='0'>	//  для отметки вопроса на который уже ответили

<input type='button' onclick="skip($i);" value="Пропустить" />
<input type='button' onclick="next($i);" value="Следующий" />

</div>


var i=0;
var tab=1;

function hide(prev,next){
document.getElementById(prev).style.display='none';
document.getElementById(next).style.display='block';
}

function next(tab) {
i++
var	tab_setup_this = 'setup_tab'+ (tab);
document.getElementById(tab_setup_this).value = 1;

	if (i==8){
	document.test_form.submit();
	}
	else
	{
	var getThisTab = (function(tab){
	var counter = tab;
	
		for (n=tab; n<=10;n++){ // Кол-во вопросов +2 чтоб не вылететь из цикла на последнем вопросе
		if (n==9) { n = 1; counter=1;} // на последнем вопросе начинаем перебор сначала
		var	tab_setup_this = 'setup_tab'+ (n);
		if (document.getElementById(tab_setup_this).value == 0){break};
		counter++;	
		}
	return(counter);
	});	
	
	var tab_part1 = 'tab'+ tab;
	var tab_part2 = 'tab' + (getThisTab(tab));
	hide(tab_part1,tab_part2);

	}
}

function skip(tab) {
tab++;

	var getThisTab = (function(tab){
	var counter = tab;
	
		for (n=tab; n<=10;n++){
		if (n==9) {
		n = 1;
		counter=1;}
		var	tab_setup_this = 'setup_tab'+ (n);
		if (document.getElementById(tab_setup_this).value == 0){break};
		counter++;	
		}
	return(counter);
	});	
	var tab_part1 = 'tab'+ (tab - 1) ;
	var tab_part2 = 'tab' + (getThisTab(tab));
	hide(tab_part1,tab_part2);
}

Последний раз редактировалось Quality3011, 09.06.2013 в 22:16.
Ответить с цитированием