Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как вызвать алерт при правильном ответе на вопрос теста? (https://javascript.ru/forum/events/61904-kak-vyzvat-alert-pri-pravilnom-otvete-na-vopros-testa.html)

Wilshere 14.03.2016 19:24

Как вызвать алерт при правильном ответе на вопрос теста?
 
При правильном ответе alert("Правильно")
При не правильном ответе alert ("Не верно! ")

https://jsfiddle.net/runp6hm8/


<h3>Выберите правильный перевод слова</h3>
				<p>Yellow</p>
					<label><input onclick="patasxaniStugum(this)" type="radio" name="harc"><span>Лето</span></label><br>
					<label><input onclick="patasxaniStugum(this)" type="radio" name="harc"><span>Камень</span></label><br>
					<label><input onclick="patasxaniStugum(this)" type="radio" name="harc"><span>Желтый</span></label><br>
					
          <label><input onclick="patasxaniStugum(this)" type="radio" name="harc"><span>Машина</span></label>


function patasxaniStugum(element) {




}

AciDWarrioR 15.03.2016 08:07

Wilshere,
<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function patasxaniStugum(){
	translate = this.event.target.nextElementSibling.innerHTML;
	if (translate == "Желтый"){
		alert("Правильный перевод");
	} else {
		alert("Неправильный перевод");
	}
}
</script>
<body>
				<h3>Выберите правильный перевод слова</h3>
				<p>Yellow</p>
					<label><input onclick="patasxaniStugum()" type="radio" name="harc"><span>Лето</span></label><br>
					<label><input onclick="patasxaniStugum()" type="radio" name="harc"><span>Камень</span></label><br>
					<label><input onclick="patasxaniStugum()" type="radio" name="harc"><span>Желтый</span></label><br>
					
          <label><input onclick="patasxaniStugum()" type="radio" name="harc"><span>Машина</span></label>
</body>
</html>

Dilettante_Pro 15.03.2016 09:21

AciDWarrioR,
А зачем две библиотеки jquery?

AciDWarrioR 15.03.2016 10:43

Dilettante_Pro,
Запара. Просто в sublime специально открыт файл для написания кода помощи на форуме, так видать у ТС копировал код, случайно забрал)

Wilshere 15.03.2016 15:40

Dilettante_Pro, спасибо, но хотелось бы посмотреть на чистом JS-e.

AciDWarrioR 15.03.2016 16:06

Wilshere,
Ты прикалываешься? Это я вообще код написал, это раз.
Jquery подключен у меня автоматом. Весь код написан на js. Это два.

Wilshere 16.03.2016 16:22

Подумал, что ты использовал библиотеку(сразу 2 линка) и не стал рассматривать код.

А можно ли заменить this.event.target.nextElementSibling.innerHTML на что-то другое? Просто мы это еще не проходили.

AciDWarrioR 16.03.2016 19:17

Wilshere,
Соответствующему inputu пропишите value и тогда можно будет получать значение выбранного inputa.
А что именно вы не проходили? И в чем проблема пройти это самостоятельно?

Wilshere 16.03.2016 19:52

Цитата:

Сообщение от AciDWarrioR (Сообщение 411181)
Wilshere,
Соответствующему inputu пропишите value и тогда можно будет получать значение выбранного inputa.
А что именно вы не проходили? И в чем проблема пройти это самостоятельно?

С недавнего времени иду на занятия по скрипту. Это было, как ДЗ и нужно использовать все что прошли...

Попробовал через document.getElementsByTagName("input").value но явно что-то неправильно пишу..

AciDWarrioR 16.03.2016 21:06

Wilshere,
Цитата:

Сообщение от Wilshere
document.getElementsByTagName("input")

Вы получите все инпуты на странице, если вы хотите сделать через getElementsByTagName, то тогда нужно будет ещё цикл делать на нахождение выбранного элемента.
Но учитывайте, если у вас будет два блока inputov, то может возникнуть путаница. Мой совет лучше добавить каждому блоку inputov свой класс, находить элементы с этим классом, проверять циклом выбранный input, сравнивать его с правильным ответом, выводить alert.
P.S. Не пишу код, дабы ваше образование не страдало и вы сами попытались это реализовать, тем более, алгоритм написал.

И все же скажите, что вы не проходили и что проходили, дабы я знал чем вы можете оперировать.


Часовой пояс GMT +3, время: 18:33.