Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: отследить состояние чекбокса (калькулятор)
 
 автор: denvor   (01.09.2006 в 18:15)   письмо автору
 
 

есть форма - калькулятор. При щелчке по чекбоксу
происходит прибавление значения чекбокса к значению итоговой суммы:

...
...
function DNV_total_price(pRice){ 
 TotalPrice = parseInt(main.total_price.value) + parseInt(pRice);
 main.total_price.value = TotalPrice;
}
//-->
</script>
...
...
<input type="checkbox" name="opt11" value="400"   onClick=\DNV_total_price(this);">

все работает, но при повторном щелчке, года поле перестает быть чекд, нужно бы значение вычитать из суммы. Как проверить состояние поля checkbox перед вычислением?

И второй вопрос сразу: я хотел бы массив названий и значений чекбоксов хранить в массиве внутри функции. Тогда в функцию нужно передавать имя чекбокса, проверять его состояние, выбирать из массива соотв. значение и вычислять. Я в JS не силен, примерно представляю код, но в точности - нет. Помогите, плиз!

   
 
 автор: aexb   (02.09.2006 в 15:57)   письмо автору
 
   для: denvor   (01.09.2006 в 18:15)
 

Только по первому вопросу:
<html>
<head>
<script>
function check() {
    if (document.forma.cb1.checked) {
        document.forma.input1.value="Отмечено";
    } else {
        document.forma.input1.value="Не отмечено";
    }
}
</script>
</head>
<body>
<form name="forma">
<input type="checkbox" onclick="check()" value="val1" name="cb1" id="cb1"><label for="cb1">Чекбокс</label><br><br>
<input type="text" value="Не отмечено" name="input1"><br>
</form>
</body>
</html>


Вот отсюда можно вытянуть проверку чекбокса

   
 
 автор: denvor   (02.09.2006 в 23:36)   письмо автору
 
   для: aexb   (02.09.2006 в 15:57)
 

Спасибо! А если я передаю имя чекбокса

<input type="checkbox" onclick="check(this.name)" value="val1" name="cb1" id="cb1">


То как проверить состояние? Так:

<script> 
function check(fieldName) { 
    if (document.forma.getElementByName(ieldName).checked) { 
        document.forma.input1.value="Отмечено"; 


?

   
 
 автор: RMW   (03.09.2006 в 00:20)   письмо автору
 
   для: denvor   (02.09.2006 в 23:36)
 


<script>

function DNV_total_price(pRice)
{
  var inpText = document.forms['main'].elements['total_price'];
  var TotalPrice;
  if(pRice.checked)
  {  
    TotalPrice = parseInt(inpText.value) + parseInt(pRice.value);
  }
  else
  {
    TotalPrice = inpText.value - pRice.value;    
  }
  inpText.value = TotalPrice; 
}

</script> 
<form name="main">
<input type="text" name="total_price" value="0">
 
<input type="checkbox" name="opt11" value="100" onClick="DNV_total_price(this);">
<input type="checkbox" name="opt11" value="200" onClick="DNV_total_price(this);"> 
<input type="checkbox" name="opt11" value="400" onClick="DNV_total_price(this);">
</form>

   
 
 автор: denvor   (03.09.2006 в 01:29)   письмо автору
 
   для: RMW   (03.09.2006 в 00:20)
 

Большое спасибо! Все работает как надо, вопрос снят

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования