Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Совеместить скрипт и html форму (https://javascript.ru/forum/dom-window/59375-sovemestit-skript-i-html-formu.html)

unkind 09.11.2015 09:37

Подскажите:
пользователь выбирает к примеру чекбокс:
<input type="checkbox" name="course" id="c1" value="300" onClick="getCours();">pyccкий<br>


Тут я получаю id всех чекбоксов,А ак узнать какой был выбран?
var c1  = document.getElementById("c1").value;
var c2  = document.getElementById("c2").value;
var c3  = document.getElementById("c3").value;
var c4  = document.getElementById("c4").value;


свойство cheked мне знакомо, проверять все через if?-пробовал...что-то не получается

EmperioAf 09.11.2015 10:02

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
<style>
* {
  margin:0;
  padding: 0;
  outline: none;
}
</style>
</head>
<body>
  <input type="checkbox" id="checkbox">
  <input type="text" id="text">
  <script>
  var checkbox = document.querySelector('#checkbox')
    checkbox.onclick = function(){
      document.querySelector('#text').value = checkbox.checked;
    }
  </script>
</body>
</html>

unkind 09.11.2015 10:09

var checkbox = document.querySelector('#checkbox')

этой строкой я получаю все checkbox,верно?
если да, то как узнать,что я выбрал допустим это:
<input type="checkbox" name="course" id="c1" value="300" onClick="getCours();">pyccкий<br>

EmperioAf 09.11.2015 10:25

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
<style>

* {
  margin:0;
  padding: 0;
  outline: none;
}

input[type="text"] {
  width: 700px;
}
</style>
</head>
<body>
  <input type="checkbox" id="check1">
  <input type="checkbox" id="check2">
  <input type="checkbox" id="check3">
  <input type="checkbox" id="check4">
  <input type="checkbox" id="check5">
  <input type="checkbox" id="check6">
  <input type="checkbox" id="check7">
  <input type="checkbox" id="check8">
  <input type="checkbox" id="check9">
  <input type="checkbox" id="check10">
  <input type="text" id="text">
  <script>
  var checkboxs = document.querySelectorAll('input[type="checkbox"]');
    [].forEach.call(checkboxs, function(item){
      item.onclick = function(){
      document.querySelector('#text').value = "Выбранные чекбоксы: ";
      for (var i = 0; i < checkboxs.length; i++){
        if (checkboxs[i].checked)
      document.querySelector('#text').value +=  checkboxs[i].id+" ";
      }
    }
  });  
  </script>
</body>
</html>

EmperioAf 09.11.2015 10:25

Цитата:

Сообщение от unkind
этой строкой я получаю все checkbox,верно?

этой строкой вы получаете первый попавшийся элемент у которого id="checkbox"

unkind 09.11.2015 11:12

EmperioAf,
var checkboxs = document.querySelectorAll('input[type="checkbox"]');
    [].forEach.call(checkboxs, function(item){
      item.onclick = function(){
      /*document.querySelector('#text').value = "Выбранные чекбоксы: ";*/
      for (var i = 0; i < checkboxs.length; i++){
        if (checkboxs[i].checked)
      //document.querySelector('#text').value +=  checkboxs[i].id+" ";
	  var course=checkboxs[i].value;//в переменную я сохранил допустим первое значение из чекбокса
	  
      }
    }
  });

<input type="checkbox" name="course" id="c1" value="300" onClick="getCours();">pyccкий<br>
300 у меня в переменной var course
тогда как получить следующий выбранный:
<input type="checkbox" name="time" id="t1"  value="10">10<br>

и так далее

unkind 09.11.2015 11:47

все,нашел выход,повторно использовал цикл for

unkind 09.11.2015 12:13

Что-то торможу: а как в поле
<input type="text" size="15" >

вывести
var price


<!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" id="l1">Русский<br>
  <input type="checkbox" name="lan" 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" >
  </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) + otchet);
	
    }
	
  }); 

  </script>

</body>
</html>

laimas 09.11.2015 12:51

Интересно, а можно ли прослушать курс одновременно на русском и английском, заказать одновременно несколько продолжительностей его, а отчетность и нужна, и нет, ну и остальное в том же духе?
Вряд-ли такое можно назвать разумным, так почему тогда type="checkbox"?

unkind 09.11.2015 13:39

laimas,
это лучше спросить у тех кто придумывал это задание в лабр. работах)


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