Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2011, 15:02
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

Скрипт подсчёта чек боксов по имени а не по id
Вот скрипт который считает чекбоксы

<script type="text/javascript">
function price(form){
var total = 0;
for (var i = 1; i< form.elements.length; i++){
if (document.getElementById(i).checked) {
var b=parseFloat(document.getElementById(i).value);
}
else {
b=0;
}
total+=b;
}
document.getElementById("total_price").innerHTML=total;
document.getElementById("total_prie").value=total;
document.getElementById("total_pr").value=total;
}
</script>


Имя поля у меня xz_
как мне сделать что бы он обращался по имени!? а имя я уже потом поставлю на увеличение.
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2011, 15:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от klubnichkaaa
как мне сделать что бы он обращался по имени!?
Оно?

document.getElementsByName('нужное_имя')
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2011, 16:13
Интересующийся
Отправить личное сообщение для softovik88 Посмотреть профиль Найти все сообщения от softovik88
 
Регистрация: 01.02.2011
Сообщений: 19

та можешь им оставить и id и name - переписывать не придется.
Ответить с цитированием
  #4 (permalink)  
Старый 02.02.2011, 16:19
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

Слушай прогресс есть хотя бы потому что хоть нолик стал появляться, но он не считает подскажи может я не правильно переписал скрипт!?
вот поля которые он считает
<?php $menuMail='<input type="checkbox" name="xz_'.$raz_na->id.'" id="'.$b.'" value="'.$raz_na->cena.'">'; $b++; echo $menuMail;?>

xz_ оно не меняется оно всегда такое! я так понял что в for нужны другие условия какие подскажи пожалуйста!

<script type="text/javascript">
function price(form){
var total = 0;
for (var i = 1; i< form.elements.length; i++){
if (document.getElementsByName('xz_').checked) {
var b=parseFloat(document.getElementsByName('xz_').value);
}
else {
b=0;
}
total+=b;
}
document.getElementById("total_price").innerHTML=total;
document.getElementById("total_prie").value=total;
document.getElementById("total_pr").value=total;
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2011, 16:20
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

не могу я id поставить! скрипт полностью рабочий дело в том что если добавить ещё поля любые то скрипт перестаёт работать!
Ответить с цитированием
  #6 (permalink)  
Старый 02.02.2011, 16:37
Интересующийся
Отправить личное сообщение для softovik88 Посмотреть профиль Найти все сообщения от softovik88
 
Регистрация: 01.02.2011
Сообщений: 19

document.getElementsByName('xz_').checked

так а ты же имя поля не подставляешь - циферку - ту, что в цикле
Ответить с цитированием
  #7 (permalink)  
Старый 02.02.2011, 16:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от klubnichkaaa
может я не правильно переписал скрипт
Дело в том, что

document.getElementsByName('нужное_имя')


возвращает целую коллекцию элементов с таким именем. Т.о. нельзя кним обращаться

document.getElementsByName('xz_').checked

или
document.getElementsByName('xz_').value


Нужно писать

document.getElementsByName('xz_')[<порядковый_номер_элемента>].checked

или
document.getElementsByName('xz_')[<порядковый_номер_элемента>].value
Ответить с цитированием
  #8 (permalink)  
Старый 03.02.2011, 08:54
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

Я понял щас проверю! Могу я так сделать?

<script type="text/javascript"> 
function price(form){ 
for (var i = 1; i< form.elements.length; i++){ 
if (document.getElementsByName('xz_')[i].checked) { 
var b=parseFloat(document.getElementsByName('xz_')[i].value); 
} 
else { 
b=0; 
} 
total+=b; 
} 
document.getElementById("total_price").innerHTML=total; 
document.getElementById("total_prie").value=total; 
document.getElementById("total_pr").value=total; 
} 
</script>


или же мне нужно id из базы сюда подставить!?
name="xz_'.$raz_na->id.'"

если эту то как я её в java script поставлю!?
Ответить с цитированием
  #9 (permalink)  
Старый 03.02.2011, 09:00
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

и вот ещё что хотел спросить что тогда конкретно в for прописать! в условие ()
Ответить с цитированием
  #10 (permalink)  
Старый 03.02.2011, 09:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от klubnichkaaa
Могу я так сделать?
Без примера хтмл разметки скрипт никак не оценить... Откуда мне знать чего там у тебя и как.
Делай полный тестовый пример - нанём и будем "тренироваться".
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт подсчета страниц на сайте paveljava5 Общие вопросы Javascript 8 22.06.2010 10:55
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07