Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2011, 18:43   #1
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию Очередной тест JAVASCRIPT

Такое дело: нужно сделать тест, состоящий из 10 вопросов. Весь код должен быть на одной странице.Вопросы должны вылазить по одному.

Чуть-чуть поваял:
Код:
      <html>
<script language="JavaScript"> 



var String1 = '<center><b><br>1)В каком году родился Владимир Ульянов?</b> <FORM NAME=valueTest><BR><INPUT TYPE="radio" NAME="radioObj">a)1870<BR><INPUT TYPE="radio" NAME="radioObj" CHECKED>б)1880<BR><INPUT TYPE="radio" NAME="radioObj">в)1900<BR><INPUT TYPE="radio" NAME="radioObj">г)хз<br><INPUT TYPE="button" VALUE="Ответить" ></form></center><br>'
var String2 = '<center><b><br>2)Вторая фамилия В.Ульянова:</b><br><form onSubmit="return validForm(this)"> <INPUT name="namegr" type=text size="75"onclick="this.select()"><INPUT TYPE="submit" VALUE="Ответить"></form></center><br>'
var String3 = '<center><b><br>3)Кто был движущей силой октябрьской революции:</b><form ><select name="Kont"><option value=1>Сталин<option value=2>Ленин<option value=3>Керинский<option value=4>Николай II</select><INPUT TYPE="button" VALUE="Ответить"</font>'
var String4 = '<center><b><br>4)В каком году родился Иосиф Джугашвили?</b> <FORM NAME=valueTest><BR><INPUT TYPE="radio" NAME="radioObj">a)1878<BR><INPUT TYPE="radio" NAME="radioObj" CHECKED>б)1879<BR><INPUT TYPE="radio" NAME="radioObj">в)1880<BR><INPUT TYPE="radio" NAME="radioObj">г)хз<br><INPUT TYPE="button" VALUE="Ответить"></form></center><br>'
var String5 = '<center><b><br>5)Вторая фамилия И.Джугашвили:</b><br><form onSubmit="return validForm(this)"> <INPUT name="namegr" type=text size="75"onclick="this.select()"><INPUT TYPE="submit" VALUE="Ответить"></form></center><br>'
var String6 = '<center><b><br>6)Куда был сослан Николай II после февральской революции?:</b><form ><select name="Kont"><option value=1>Москва<option value=2>Оренбург<option value=3>Екатеринбург<option value=4>Гомель</select><INPUT TYPE="button" VALUE="Ответить" ></font>'

test = new Array(String1,String2,String3,String4,String5,String6)
for(i=0;i<test.length;i++)
document.writeln(test[i]);


</script> 


</html>
Вопрос: Как сделать так, чтобы вопросы вылазили по одному, а не всей каткой? Что бы при помощи onClick переходило к следующему.
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 09.03.2011, 18:52   #2
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

О, и ещё . Вопросы должны задаваться по разным формам: радио,текст и селект.
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 21.03.2011, 19:43   #3
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Если кому - нибудь будет нужно - вот код:
Код:
<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Лабораторная работа №3</title>
<script>

//глобальные переменные
	data = new Array();
	data[0]= new baza("Кто был последним Императором Руси?","Николай II","Витя","Петя","Ленин","1","NuN","radio")
	data[1]= new baza("Кто был первым ген секом ЦККПСС","Сталин","Ленин","Брежнев","Я","2","NuN","radio")
	data[2]= new baza("Кто был генсекцккпсс после Ленина?","Брежнев","Андропов","Сталин","Николай Второй","3","NuN","text")
	data[3]= new baza("Кто был генсеком после Сталина?","Тополев","Берия","Ленин","Хрущёв","4","NuN","text")
	data[4]= new baza("В каком году был убит Николай Второй","1929","1918","1919","1920","3","NuN","option")
	data[5]= new baza("Выберите один","два","один","три","четыре","2","NuN","option")
	data[6]= new baza("Как заовут преподавателя, что сейчас смотрит работу?","Литвинов","Соболев","Ковалёв","Воскресенский","1","NuN","radio")
	data[7]= new baza("Чья машина пострадает, если я не сдам лабу?","Соболева","Ковалёва","Моя =(","Литвинова","4","NuN","radio")
	data[8]= new baza("Эта лаба будет сдана 18.12.2011?","ДА","Да","ДА","ДА","3","NuN","radio")
	data[9]= new baza("До кокого курса доучится студент Воскресенский В.В?","2","5","3","4","2","NuN","radio")
	
	my=new pipl(data);

	function baza(vopr,otvet1,otvet2,otvet3,otvet4,otvet,otvetPolz,type) //конструктор объекта задающего структуру
	{
		this.vopr=vopr;
		this.otvet1=otvet1;
		this.otvet2=otvet2;
		this.otvet3=otvet3;	
		this.otvet4=otvet4;		
		this.otvet=otvet;
		this.otvetPolz=otvetPolz;
		this.type=type;
	}
	function pipl(data) //конструктор объекта работы с базой
	{
 		this.add=add;
	}
	function add(fam,nam,otc,grp,fkt,ml)
	{
		famil = fam;
		name = nam;
		otch = otc;
		group = grp;
		fakult = fkt;
		mail = ml;
	}
	function result() 
	{
	    kol=0;
		f=0;
		ff="Некорректный ввод следующих форм:\n\n";
		if(famil=="")
		{
			f++;
			ff+="Фамилия\n"
		}
		if(name=="")
		{
			f++;
			ff+="Имя\n"
		}
		if(otch=="")
		{
			f++;
			ff+="Отчество\n"
		}
		if(group=="")
		{
			f++;
			ff+="Группа\n"
		}
		if(mail=="")
		{
			f++;
			ff+="Email\n"
		}
		if(f==0)
		{	
			msgWindow=window.open();
			msgWindow.document.write("<table width=300>");
			msgWindow.document.write("<tr><td width=50><b>Фамилия:</b></td><td>"+famil+"</td></tr>");
			msgWindow.document.write("<tr><td ><b>Имя:</b></td><td>"+name+"</td></tr>");
			msgWindow.document.write("<tr><td ><b>Отчество:</b></td><td>"+otch+"</td></tr>");
			msgWindow.document.write("<tr><td ><b>Факультет:</b></td><td>"+getFakult()+"</td></tr>");
			msgWindow.document.write("<tr><td ><b>Группа:</b></td><td>"+group+"</td></tr>");
			msgWindow.document.write("<tr><td ><b>Email:</b></td><td>"+mail+"</td></tr></table>");
			msgWindow.document.write("<br><table><tr>");
			msgWindow.document.write("<td>№</td>");
			msgWindow.document.write("<td>Вопрос</td>");
			msgWindow.document.write("<td>Правильный ответ</td>");
			msgWindow.document.write("<td>Ответ пользователя</td>");
			msgWindow.document.write("</tr>");  
			for(i=0;i<10;i++)
			{
				if(data[i].otvet == data[i].otvetPolz)
				{	
					styl="green";
					kol++;
				}
				if(data[i].otvetPolz == "NuN")
				{
					styl="silver";
				}
				if(data[i].otvet != data[i].otvetPolz && data[i].otvetPolz != "NuN")
				{
					styl="red";
				}
				msgWindow.document.write("<tr><td>"+(i+1)+"</td><td bgcolor="+styl+">"+data[i].vopr+"</td><td bgcolor="+styl+">"+data[i].otvet+"</td><td bgcolor="+styl+">"+data[i].otvetPolz+"</td></tr>");
			}
			msgWindow.document.write("</table>");
			proc = kol * 10;
            msgWindow.document.write("<br>Процент правильных ответов: " + proc + "%<br>");
			msgWindow.document.write("<br><INPUT TYPE=button onclick='window.close();' VALUE='Закрыть окно'>")  			
			msgWindow.document.close()  
		}
		else alert(ff);
	}
	
	function getFakult()
	{
		for (var i=0; i < fakult.length; i++)
		if (fakult[i].checked) return fakult[i].value;
	}

	function otvetText(i)
	{
		f=0;
		if(msgWindow.document.formWindow.otv.value=="1" || msgWindow.document.formWindow.otv.value=="2" || msgWindow.document.formWindow.otv.value=="3" || msgWindow.document.formWindow.otv.value=="4") 
		{ 
			data[i].otvetPolz = msgWindow.document.formWindow.otv.value;
			f=1;
		}	
		else
		{
			alert("Некорректный ответ");
			opener.otvetRadio(i);
		}
		msgWindow.close();
	} 
	
	function otvetRadio(i) 
	{ 
		for (var j=0; j < msgWindow.document.formWindow.otv.length; j++)
		{
			if(msgWindow.document.formWindow.otv[j].checked) 
				data[i].otvetPolz=msgWindow.document.formWindow.otv[j].value;
		}
		msgWindow.close();
	}
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 21.03.2011, 19:43   #4
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Код:
function quastion(i) 
	{
		msgWindow=window.open();
		msgWindow.document.write("<form name=formWindow>");
		msgWindow.document.write(data[i].vopr+"<br><br>")
		if (data[i].type=="text")
		{
			msgWindow.document.write("1. "+data[i].otvet1+"<br>2. "+data[i].otvet2+"<br>3. "+data[i].otvet3+"<br>4. "+data[i].otvet4+"<br><br>")
			msgWindow.document.write("Введите ответ: <INPUT TYPE=text NAME='otv' size='10'> ");
			msgWindow.document.write("<br><br><INPUT type=button Value='Принять ответ' OnClick='opener.otvetText("+i+");'/>");
		}
		if (data[i].type=="radio")
		{
			msgWindow.document.write("<INPUT NAME='otv' TYPE=radio VALUE='1' checked> " +data[i].otvet1+"<br>");
			msgWindow.document.write("<INPUT NAME='otv' TYPE=radio VALUE='2'> " +data[i].otvet2+"<br>");
			msgWindow.document.write("<INPUT NAME='otv' TYPE=radio VALUE='3'> " +data[i].otvet3+"<br>");
			msgWindow.document.write("<INPUT NAME='otv' TYPE=radio VALUE='4'> " +data[i].otvet4+"<br>");
			msgWindow.document.write("<br><INPUT type=button Value='Принять ответ' OnClick='opener.otvetRadio("+i+");'/>");
		}
		if (data[i].type=="option")
		{
			msgWindow.document.write("<select name='otv' size=4>");
			msgWindow.document.write("<option value='1'>1. "+data[i].otvet1);
			msgWindow.document.write("<option value='2'>2. "+data[i].otvet2);
			msgWindow.document.write("<option value='3'>3. "+data[i].otvet3);
			msgWindow.document.write("<option value='4'>4. "+data[i].otvet4);
			msgWindow.document.write("</select>");
			msgWindow.document.write("<br><br><INPUT type=button Value='Принять ответ' OnClick='opener.otvetText("+i+");'/>");
		}
		msgWindow.document.write("</form>");	 
	}
	
</script>
<body background = 2.jpg text= silver>
<form name=forma>

<center>
<table border=0>
<tr>
	<td>Фамилия: </td>
	<td width=270><INPUT name="fam" type=text value=""></td>
</tr>
<tr>
	<td>Имя: </td>
	<td><INPUT name="nam" type=text value=""></td>
</tr>
<tr>
	<td>Отчество: </td>
	<td><INPUT name="otc" type=text value=""></td>
</tr>	

<tr>
	<td colspan=2>
	Факультет:<br><br> 
	<INPUT NAME="fak" TYPE=radio VALUE="ФАИС" checked> ФАИС
	<INPUT NAME="fak" TYPE=radio VALUE="МТФ"> МТФ
	<INPUT NAME="fak" TYPE=radio VALUE="МСФ"> МСФ
	<INPUT NAME="fak" TYPE=radio VALUE="ГЭФ"> ГЭФ
	<INPUT NAME="fak" TYPE=radio VALUE="ЭФ"> ЭФ
	</td>
</tr>	
	
<tr>
	<td>
	Группа:
	</td>
	<td>
		<select name="gr">
		<option value="">Не выбрано
		<option value="IT-11">ИТ-11<option value="IT-12">ИТ-12
		<option value="IT-21">ИТ-21<option value="IT-22">ИТ-22
		<option value="IT-31">ИТ-31<option value="IT-32">ИТ-32
		<option value="IT-41">ИТ-41<option value="IT-42">ИТ-42
		<option value="IT-51">ИТ-51<option value="IT-52">ИТ-52
	</select>
	</td>
</tr>
	
<tr>
	<td>email:</td> <td><INPUT name="mail" type=text value=""></td>
</tr>
	
<tr>
<td colspan=2>
	Вопросы: <br><br>
	<INPUT TYPE=button VALUE="1 вопрос" onclick="quastion(0)"> 
	<INPUT TYPE=button VALUE="2 вопрос" onclick="quastion(1)"> 
	<INPUT TYPE=button VALUE="3 вопрос" onclick="quastion(2)"> 
	<INPUT TYPE=button VALUE="4 вопрос" onclick="quastion(3)"> 
	<INPUT TYPE=button VALUE="5 вопрос" onclick="quastion(4)"> <br><br>
	<INPUT TYPE=button VALUE="6 вопрос" onclick="quastion(5)">
	<INPUT TYPE=button VALUE="7 вопрос" onclick="quastion(6)"> 
	<INPUT TYPE=button VALUE="8 вопрос" onclick="quastion(7)"> 
	<INPUT TYPE=button VALUE="9 вопрос" onclick="quastion(8)"> 
	<INPUT TYPE=button VALUE="10 вопрос" onclick="quastion(9)"><br><br>
</td>
<tr>
	
<tr>
<td colspan=2>
	<INPUT TYPE=button VALUE="Результат" onclick="my.add(fam.value,nam.value,otc.value,gr.value,forma.fak,mail.value); result();">
</td>
</tr>
	
</table>
</center>
</form>
</body>
</html>
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 29.03.2011, 16:35   #5
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Вопрос на засыпку: как сделать так, чтобы можно было добавлять вопросы?
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript - классы, они есть или их нету в Javascript? Kasper1 JavaScript, Ajax 3 05.03.2011 09:42
Очередной ноутбук с порнобаннером e_e_n Безопасность, Шифрование 7 12.10.2010 16:53
очередной лохотрон? crazy horse Свободное общение 11 04.09.2009 15:53
Видимо очередной вопрос по БД... Amaranth Помощь студентам 1 16.12.2007 00:56
помогите автоматизировать тест в нтмl при помощи javascript dimitriy1987 JavaScript, Ajax 23 07.11.2007 15:53