Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 10.11.2015, 13:29
Аспирант
Отправить личное сообщение для Lecseus Посмотреть профиль Найти все сообщения от Lecseus
 
Регистрация: 13.08.2015
Сообщений: 45

function kontroll(){
		var vastus=document.getElementsByName("v1"); //по имени радиокнопки name="#"
			if(vastus[0].checked && vastus[1].checked && vastus[3].checked){ // вписывает индекс ответа, счет с 0
				document.getElementById("otvet1").innerHTML="верно";
				document.getElementById("otvet1").style.color="green";
				correct++;
				
			}
			if(vastus[0].checked && vastus[1].checked && vastus[2].checked && vastus[3].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(vastus[0].checked && !vastus[1].checked && !vastus[2].checked && !vastus[3].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(!vastus[0].checked && vastus[1].checked && !vastus[2].checked && !vastus[3].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(!vastus[0].checked && !vastus[1].checked && !vastus[2].checked && vastus[3].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(vastus[0].checked && vastus[1].checked && !vastus[3].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(vastus[0].checked && vastus[3].checked && !vastus[1].checked && !vastus[2].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(vastus[1].checked && vastus[3].checked && !vastus[0].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
			if(!vastus[0].checked && !vastus[1].checked && !vastus[2].checked && !vastus[3].checked){
				document.getElementById("otvet1").innerHTML="неверно";
				document.getElementById("otvet1").style.color="red";
			}
	};

допустим
Ответить с цитированием
  #22 (permalink)  
Старый 10.11.2015, 14:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

Lecseus,
макет это когда можно жмакнуть и увидеть или не увидеть результат
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<input type="checkbox" name="v1">
<input type="checkbox" name="v1">
<input type="checkbox" name="v1">
<input type="checkbox" name="v1">
<input name="" type="button" value="проверить" onclick="kontroll()">
<p  id="otvet1"></p>
<script>  var correct = 0;

function kontroll() {
    var otv = document.getElementById("otvet1"),
        vastus = document.getElementsByName("v1"),
        answer = [1, 1, 0, 1];
    answer = answer.every(function(check, i) {
        return check == vastus[i].checked
    })
    otv.innerHTML = answer ? "верно" : "неверно";
    otv.style.color = answer ? "green" : "red";
    answer && correct++;

};
</script>
</body>

</html>
Ответить с цитированием
  #23 (permalink)  
Старый 10.11.2015, 14:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Lecseus
допустим
Не совсем понятно зачем все остальные "условия", если все они неправильные?

Все это запросто меняется на

function kontroll(){
	var vastus=document.getElementsByName("v1"); //по имени радиокнопки name="#"
	if(vastus[0].checked && vastus[1].checked && vastus[3].checked){ // вписывает индекс ответа, счет с 0
		document.getElementById("otvet1").innerHTML="верно";
		document.getElementById("otvet1").style.color="green";
		correct++;
		return;
	};
	document.getElementById("otvet1").innerHTML="неверно";
	document.getElementById("otvet1").style.color="red";
};
Ответить с цитированием
  #24 (permalink)  
Старый 10.11.2015, 14:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

Сообщение от ksa
Все это запросто меняется на
Ответить с цитированием
  #25 (permalink)  
Старый 10.11.2015, 15:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

рони, чего я там пропустил?
Ответить с цитированием
  #26 (permalink)  
Старый 10.11.2015, 15:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

Сообщение от ksa
if(vastus[0].checked && vastus[1].checked && !vastus[2].checked&& vastus[3].checked)
все тогда должны проверятся
Сообщение от рони
answer = [1, 1, 0, 1];
Ответить с цитированием
  #27 (permalink)  
Старый 10.11.2015, 15:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

рони, в любом случае у него правильная комбинация только одна.
Делать столько проверок на "неправильность" нет смысла...
Ответить с цитированием
  #28 (permalink)  
Старый 10.11.2015, 15:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

Сообщение от ksa
в любом случае у него правильная комбинация только одна.
да но полная правильная
Ответить с цитированием
  #29 (permalink)  
Старый 10.11.2015, 15:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

рони, я просто переделал его последний пример...
На само условие не смотрел.
Ответить с цитированием
  #30 (permalink)  
Старый 10.11.2015, 17:04
Аспирант
Отправить личное сообщение для Lecseus Посмотреть профиль Найти все сообщения от Lecseus
 
Регистрация: 13.08.2015
Сообщений: 45

мне у вас, рони, даже не хочется копировать.. ибо я не понимаю кода. но со switch case никак совсем?
да и спасибо большое, буду разбираться.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Развитие стандарта HTML Paguo-86PK Элементы интерфейса 104 14.12.2015 21:58
Подставляется url превью к кглавной картинке. Что делать? espltd AJAX и COMET 2 10.11.2015 18:57
Узнать, что checkbox программно изменен Zatvornik Events/DOM/Window 1 09.02.2014 21:47
как получить тот кусок текста который сейчас видно на экране ? mitiya Общие вопросы Javascript 27 21.03.2013 12:21
Подскажите что должен делать этот код... ms_train Общие вопросы Javascript 8 13.11.2010 16:25