Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 09.11.2015, 13:47
Аватар для unkind
Кандидат Javascript-наук
Отправить личное сообщение для unkind Посмотреть профиль Найти все сообщения от unkind
 
Регистрация: 01.11.2012
Сообщений: 103

пробовал так:
document.querySelector('#text').value += ((time * course) + otchet);
Ответить с цитированием
  #22 (permalink)  
Старый 09.11.2015, 15:13
Аватар для unkind
Кандидат Javascript-наук
Отправить личное сообщение для unkind Посмотреть профиль Найти все сообщения от unkind
 
Регистрация: 01.11.2012
Сообщений: 103

Что не так делаю,подскажите пожалуйста:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style>
* {
  margin:10;
  padding: 0;
  outline: none;
}
</style>
</head>

<body>
  <FORM name="form1">
  <div>Выберите курс: </div>
  <br>
  <input type="checkbox" name="course" id="c1" value="300" onClick="getCours();">pyccкий<br>
  <input type="checkbox" name="course" id="c2"  value="200" onClick="getCours();">английский<br>
  <input type="checkbox" name="course" id="c3"  value="100" onClick="getCours();">французский<br>
   <input type="checkbox" name="course" id="c4"  value="150" onClick="getCours();">немецкий<br>
  <hr>
  <div>Выберите продолжительность курса (в академ.часах) : </div>
  <input type="checkbox" name="time" id="t1"  value="10">10<br>
  <input type="checkbox" name="time" id="t2"  value="20">20<br>
  <input type="checkbox" name="time" id="t3" value="30">30<br>
   <input type="checkbox" name="time" id="t4" value="50">50<br>
   <hr>
  <div>Выберите язык преподавания курса : </div>
  <input type="checkbox" name="lan" value="50" id="l1">Русский<br>
  <input type="checkbox" name="lan" value="100" id="l2">Английский<br>
     <hr>
  <div>Нужна ли отчетность? : </div>
  <input type="checkbox" name="otchet" id="ot1" value="3000">Да<br>
  <input type="checkbox" name="otchet" id="ot2" value="0">Нет<br>
  <hr>
   
    <hr>
    <br>
    <br>
    <div>Стоимость : </div>
    <input type="text" size="15" onfocus="rezult(this);" >
  </FORM><hr>
<script language="JavaScript">
var checkboxs = document.querySelectorAll('input[type="checkbox"]');
    [].forEach.call(checkboxs, function(item){
      item.onclick = function(){
      for (var i = 0; i < checkboxs.length; i++){
        if (checkboxs[i].checked)
     
	  var course=checkboxs[i].value;
	  
      }
	  for (var i = 0; i < checkboxs.length; i++){
        if (checkboxs[i].checked)
     
	  var time=checkboxs[i].value;
	  
      }
	  for (var i = 0; i < checkboxs.length; i++){
        if (checkboxs[i].checked)
     
	  var lan=checkboxs[i].value;
	  
      }
	  for (var i = 0; i < checkboxs.length; i++){
        if (checkboxs[i].checked)
    
	  var otchet=checkboxs[i].value;
	  
      }
	  
	var price = (((time * course)*lan) + otchet);
	//ДО ЭТОГО КОДА ВСЕ РАБОТАЕТ, Т.Е ALERT-ОМ Я ПРОВЕРЯЛ , 
	//если выводить тут результат, то после первого выбранного чекбокса сразу отрабатывает alert ,а мне нужно в самом конце,после выбоар всех чекбоксов
	  function rezult(course,time,lan,otchet){
   alert(price);
  rezult();
  }
	

    }
	
  }); 


  </script>

</body>
</html>
Ответить с цитированием
  #23 (permalink)  
Старый 09.11.2015, 21:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Зачем четырежды for (var i = 0; i < checkboxs.length; i++) ?

И не надо кивать на кураторов, сколь бы не именовать checkbox одним именем они все равно не станут группой зависимых переключателей. Меняйте тип кнопки. И id кнопкам совсем не нужны.

Последний раз редактировалось laimas, 09.11.2015 в 21:12.
Ответить с цитированием
  #24 (permalink)  
Старый 09.11.2015, 21:13
Аватар для unkind
Кандидат Javascript-наук
Отправить личное сообщение для unkind Посмотреть профиль Найти все сообщения от unkind
 
Регистрация: 01.11.2012
Сообщений: 103

laimas,
так я получаю каждый нажатый чекбокс из группы,а их шт
Ответить с цитированием
  #25 (permalink)  
Старый 09.11.2015, 21:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от unkind
так я получаю каждый нажатый чекбокс из группы,а их шт
Думать, студент. )
Ответить с цитированием
  #26 (permalink)  
Старый 09.11.2015, 21:22
Аватар для unkind
Кандидат Javascript-наук
Отправить личное сообщение для unkind Посмотреть профиль Найти все сообщения от unkind
 
Регистрация: 01.11.2012
Сообщений: 103

laimas,
может гавно**код)но через alert я получаю свои нажатые чекбоксы)однако вывести результат не могу...
Ответить с цитированием
  #27 (permalink)  
Старый 09.11.2015, 21:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Дело не в том какому сорту Г код принадлежит, а в том, что в этом нет смысла. Сама форма содержит коллекцию элементов, которую можно получить через ее свойство elements, обойдя которую ОДНИМ циклом можно получить отмеченные кнопки. А так как группы кнопок имеют разные имена, то и не сложно получить отмеченное в группе.

А вот checkbox, это точно дурость, и если кураторы ваши ею маются, то это еще не значит, что и вы должны этим заниматься, наоборот, разъясните им разницу между checkbox и radio, пора бы это уяснить.
Ответить с цитированием
  #28 (permalink)  
Старый 09.11.2015, 21:42
Аватар для unkind
Кандидат Javascript-наук
Отправить личное сообщение для unkind Посмотреть профиль Найти все сообщения от unkind
 
Регистрация: 01.11.2012
Сообщений: 103

laimas,
понял,спасибо,буду добивать свой вариант.
НО от помощи не отказался бы))

Последний раз редактировалось unkind, 09.11.2015 в 22:06.
Ответить с цитированием
  #29 (permalink)  
Старый 10.11.2015, 22:03
Аватар для unkind
Кандидат Javascript-наук
Отправить личное сообщение для unkind Посмотреть профиль Найти все сообщения от unkind
 
Регистрация: 01.11.2012
Сообщений: 103

Пересмотрел код,решил пойти таким путем и опять тупик, уважаемые, разъясните,нуждаюсь в помощи:
Выводится только последнее число,а точнее его перемножение ,А потом сложение:
хотя, я проверял через
alert(a);
alert(b);
alert(c);
alert(d);выводится первое выбранное число.Что не так
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style>
* {
  margin:10;
  padding: 0;
  outline: none;
}
</style>
</head>

<body>
    <FORM name="form1">
  <div>Выберите курс: </div>
  <br>
  <input type="checkbox"  id="c1" value="100" >pyccкий<br>
  <input type="checkbox" id="c2" value="200" >английский<br>
  <input type="checkbox"  id="c3"  value="300">французский<br>
   <input type="checkbox"  id="c4" value="400" >немецкий<br>
  <hr>
  <div>Выберите продолжительность курса (в академ.часах) : </div>
  <input type="checkbox"  id="t1" value="200"  >10<br>
  <input type="checkbox"  id="t2" value="300" >20<br>
  <input type="checkbox"  id="t3"  value="400">30<br>
   <input type="checkbox"  id="t4" value="350" >50<br>
   <hr>
  <div>Выберите язык преподавания курса : </div>
  <input type="checkbox" value="200"  id="l1">Русский<br>
  <input type="checkbox"  value="400" id="l2">Английский<br>
     <hr>
  <div>Нужна ли отчетность? : </div>
  <input type="checkbox" value="4000"  id="ot1" >Да<br>
  <input type="checkbox" value="0" id="ot2 ">Нет<br>
  <hr>
   
    <hr>
    <br>
    <br>
    <div>Стоимость : </div>
	  
	    <input type="text" size="50" id="1"  value="" onClick="grant()" ><br>
	   
	    
   </FORM>
<script language="JavaScript">

function grant()
  { var d= document;
  var a;
var b;
  var c;
  var d;
  for(i=0;i<=11;i++){
  if ((d.form1.elements[i]).checked){
    a=(d.form1.elements[i].value);
        }
 
   if ((d.form1.elements[i]).checked){
    b=(d.form1.elements[i].value);
    }
    if ((d.form1.elements[i]).checked){
    c=(d.form1.elements[i].value);
    }
    if ((d.form1.elements[i]).checked){
    d=(d.form1.elements[i].value);
}
    document.getElementById("1").value=(a*b*c)+d;

  }
}
  </script>

</body>
</html>

Последний раз редактировалось unkind, 10.11.2015 в 22:08.
Ответить с цитированием
  #30 (permalink)  
Старый 10.11.2015, 22:47
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

попробуйте заменить это:
document.getElementById("1").value=(a*b*c)+d;

на это:
document.getElementById("1").value=+(a*b*c)+d;


И ещё id не должен начинаться с цифры
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP/AJAX скрипт "Нaселение мoегo гoрoдa oнлaйн" rustik-yes Работа 2 01.12.2014 22:53
JS скрипт замены html candro Общие вопросы Javascript 23 13.11.2014 22:13
Скрипт работает только если подключать js в самом низу html! Pekkonen jQuery 3 26.01.2011 01:44
скрипт не видит форму clgs Общие вопросы Javascript 7 15.05.2009 13:58
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40