Javascript.RU

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

Вот код надеюсь разберётесь там всё расписано.
Нужно посчитать чек боксы, но так как там есть такие поля для заполнения почты имени текста, скрипт не работает, вот и нужно как я предпологаю чисто по имени обратиться.

Последний раз редактировалось klubnichkaaa, 03.02.2011 в 17:44.
Ответить с цитированием
  #12 (permalink)  
Старый 03.02.2011, 10:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от klubnichkaaa
Вот код надеюсь разберётесь там всё расписано
Зачем мне какой-то пхпшный код? И нестоит думать что кому-то нужно в чем-то вашем разбираться Если это ненужно тебе - другому точно ненужно.

Делай простенький, полностью хтмлный пример, без всяких там пхпшных вставок.
Ответить с цитированием
  #13 (permalink)  
Старый 03.02.2011, 10:52
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

хорошо, я с тобой полностью согласен!!!
Ответить с цитированием
  #14 (permalink)  
Старый 03.02.2011, 11:52
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

Вот чисто пример маленький простой. Нужно обратиться по имени. а не по id
Щас буду тоже пробовать. И кстати там есть форма вот нужно что бы она там и осталась и независимо от колличества полей всё считалось.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251 /">
<title>Привет</title>
</head>
<body>
<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>

<form name="form" action="#" onclick="price(this)" method="post">
<input type="hidden" name="tot_pr" value="" id="total_pr" />
<table class="tablica">

<?php
$names[]='<input type="checkbox" name="xz_1" value="100" id="1">';
$names[]='<input type="checkbox" name="xz_2" value="100" id="2">';
$names[]='<input type="checkbox" name="xz_3" value="100" id="3">';
foreach ($names as $value) {
echo $value."<br>";}
?>
<table align="left">
<tr>
<td id='total_price' style='color: #993300;font-weight:bold; font-size:14px'></td> 
</tr>
</table>

<table align="center">
<tr>
<td>
<br><br>
<p class="mail-zakaz"><p> 
Имя:<br /> 
<input type="text" name="name" size="40" ><br /> 
E-mail:<br /> 
<input type="text" name="pojta" size="40" ><br />
Тел:<br /> 
<input type="text" name="tel" size="40" ><br />  
Сообщение:<br /> 
<textarea name="mess" rows="10" cols="40" ></textarea> 
<br /> 
<input id="total_prie" type='hidden' name="hi" value="">
<input type="submit" value="Отправить" name="submit">
</td>
</tr>
</table>

</form>

</body>
</html>

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

Сообщение от klubnichkaaa
Нужно обратиться по имени. а не по id
Если я правильно понял у тебя и наме-то все уникальные...
Тогда так

<input type="checkbox" name="xz_1" value="100" id="1">

<script>
alert(document.getElementsByName('xz_1')[0].checked)
</script>
Ответить с цитированием
  #16 (permalink)  
Старый 03.02.2011, 14:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

klubnichkaaa, дай всем чекбоксам одно имя - можешь работь в цикле...

<input type="checkbox" name="xz" value="100" id="1">; 
<input type="checkbox" name="xz" value="100" id="2" checked>; 
<input type="checkbox" name="xz" value="100" id="3">;
 
<script>
var i,n=0
for (i=0; i<document.getElementsByName('xz').length; i++) {
   if (document.getElementsByName('xz')[i].checked) {
      n++
   }
}
alert(n)
</script>
Ответить с цитированием
  #17 (permalink)  
Старый 03.02.2011, 16:04
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

На работе порой некогда обдумать, написать схемки, протестить. Вообщем твой самый первый ответ и есть правильный. Я взял поменял обращение по id и всё встало на свои места, теперь форма для сообщения не конфликтует. И всё считает, я поместил скрипт в свой компонент его пришлось немного протестить так как он отказался работать но я быстро поправил всё! Но так как к имени у меня выводится xz_'.$raz_na->id.' номер в базе это для проверки чекбоксов и когда приходит письмо показывает что выбрал пользователь. вот надо теперь сделать к имени id буду дальше разбираться обязательно напишу как сделаю так что бы всё работало как надо! Ещё раз спасибо тебе! я тебе юбилейный + ставлю!
Ответить с цитированием
  #18 (permalink)  
Старый 03.02.2011, 16:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от klubnichkaaa
я тебе юбилейный + ставлю
Так красивше смотрится...
Ответить с цитированием
  #19 (permalink)  
Старый 04.02.2011, 10:05
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

ksa доп вопрос!
Имя полей у меня не одинаково они всегда будут xz1 xz2 xz3 цифры это id из базы.
вот скрипт я туда поставил rrr переменную и присвоил ей единицу. но она не увеличивается. и считает только первое поле. Как тогда прогнать значение и увеличить его!?

<script type="text/javascript">
function price(form){
var total = 0;
var rrr=1;
for (i=0; i<document.getElementsByName('xz'+rrr).length; i++) {
if (document.getElementsByName('xz'+rrr)[i].checked) {
var b=parseFloat(document.getElementsByName('xz'+rrr)[i].value);
rrr++}
else {
b=0;
}
total+=b;
}
document.getElementById("total_price").innerHTML=total;
document.getElementById("total_prie").value=total;
document.getElementById("total_pr").value=total;}
</script>
Ответить с цитированием
  #20 (permalink)  
Старый 04.02.2011, 10:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

klubnichkaaa, какой-то странный у тебя алгоритм... Количество чекбоксов у тебя всегда одно и тоже?
Если так просто пройдись по ним.


<input type="checkbox" name="xz1" value="100" id="1">; 
<input type="checkbox" name="xz2" value="100" id="2" checked>; 
<input type="checkbox" name="xz3" value="100" id="3">;
 
<script>
var i,max=3,n=0
for (i=0; i<max; i++) {
   if (document.getElementsByName('xz'+(i+1))[0].checked) {
      n++
   }
}
alert(n)
</script>
Ответить с цитированием
Ответ



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

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


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