Javascript.RU

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

ksa отказался я от мысли поправить ява скрипт решил пойти по другому пути что бы чек боксы проверить.
Мысль такая. Оригинальное поле с чекбоксом будет иметь постоянное имя xz_ и тогда скрипт считает все поля, но тут же ниже я сделал другое скрытое поле box нужно при нажатии на оригинальный чек бокс передать в скрытое поле ноль или 1, данные у меня не статичны полей может быть 5 а может 10 вот рабочий пример я передаю туда значение из чек бокса а именно 100 можно ли в этом же скрипте поместить туда 0 или нужно отдельно писать!? щас вот сижу сам пытаюсь сделать!

<script type="text/javascript">
function price(form){
var total = 0;
for (i=0; i<document.getElementsByName('xz_').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").value=total;
document.getElementById("total_pric").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" />
<input type="checkbox" name="xz_" value="100" id="1">
<input type="text" id='total_price' value=""> 

<input id='total_pric' type="hidden" name="box" value="">
</form>

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

Сообщение от klubnichkaaa
вот рабочий пример я передаю туда значение из чек бокса а именно 100 можно ли в этом же скрипте поместить туда 0
Если это соответствует какой-то твоей логике - конечно можно.

Я просто не понимаю пока что тебе нужно в итоге... Ранее ты хотел считать "выбраные" чекбоксы, теперь что-то хранить в скрытой переменной формы...
Ответить с цитированием
  #23 (permalink)  
Старый 05.02.2011, 14:15
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

Щас я подробно объясню! Просто я пытаюсь найти оптимальный способ вот и пробую написать!
<?php 
$menuMail='<input type="checkbox" name="xz_" id="'.$b.'" value="'.$raz_na->cena.'">'; $b++; 
echo $menuMail;
?>

Вот нужно когда человек выбрал чек бокс поместить в скрытую форму значение 1 если не выбрал поставить ноль.
Дальше пользователь заполняет форму и отправляет мне на почту, где включается цикл отправки там я проверяю это скрытое поле = 1 или 0
естественно мне всё это нужно проверить по id иначе данные будут не верны ну это ладно можно подставить переменную и её увеличивать.

Вот пример он не рабочий но я хочу показать что должно быть.


<?php $menuMail='<input type="checkbox" name="xz_" id="'.$b.'" value="'.$raz_na->cena.'">'; $b++; echo $menuMail;?>

<script type="text/javascript">
function box(){
for (i=0; i<document.getElementsByName("box1").length; i++) {
if (document.getElementsByName('xz_1')[i].checked) {
document.write('<input type="hidden" name="box1" value="1">');
}
else {
document.write('<input type="hidden" name="box1" value="0">');
}
}
}
</script>


Сколько записей в базе данных столько он и выведет мне данных, то есть они не статичны. Вообще я так уже понял под цикл php это писать глупо так как если пользователь не выбрал данные скрипт вообще ничего не выведет так что нужно что. Тогда 1 скрипт написать и сделать так нажал чек бокс он пошёл все проверять, идёт цикл скрытое поле 1 выбрано помещаю значение 1 скрытое поле 2 не выбрано помещаю 0 и записать всё это в одну переменную. После чего вывести её со всеми данными. И при каждом щелчке все обновляется.

Может тут и не обязательно нужен ява скрипт, может можно как то иначе я пока этого не знаю.

Мозг лопается ведь чую что тут не так всё ложно, и это решаемо.

Вот пример работы скрипта http://test.eroteks.ru/faq тестовый сайт

А это то что мне приходит на почту

Имя:
E-mail:
Тел:
Текст сообщения:
Заказ: Пример раздел 1
Пример категория 1
Пример наименование 1 100 руб. чекбокс
Пример наименование 2 200 руб. чекбокс
Пример наименование 3 300 руб. чекбокс
Пример категория 2
Пример наименование 2 500 руб. чекбокс
Пример категория 3
Пример наименование 1 600 руб. чекбокс
Пример наименование 2 700 руб. чекбокс
Общая стоимость: 100

До этого чек боксы у меня работали но перестал работать скрипт подсчёта так как он считал по id ты мне помог и сделал обращение по имени, но тогда чек бокс не выбирался. и не приходил на почту, вот я и решил всё это переписать!

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

Вообщем я пока до такого додумался.
Создал отдельную функцию, при нажатии основного чек бокса выводится текстовое поле с 1. Но первое у меня перезагружается страница и второе он выводит только 1 текстовое поле у меня таких чек боксов сейчас 7 так вот он мне должен вывести одно поле с 1 и остальные 6 с 0

<?php $menuMail='<input type="checkbox" onclick="box(this)" name="xz_" id="'.$b.'" value="'.$raz_na->cena.'">'; $b++; echo $menuMail;?>

<script type="text/javascript">
function box(){
for (i=0; i<document.getElementsByName('xz_').length; i++) {
if (document.getElementsByName('xz_')[i].checked) {
document.write('<input type="text" name="box1" value="1">');
}
else {
document.write('<input type="text" name="box1" value="0">');
}
}
}
</script>


Может что то проще есть! =)
Ответить с цитированием
  #25 (permalink)  
Старый 05.02.2011, 20:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

klubnichkaaa, для твоей задачи предложу такой вариант:
- пусть пользователь выбирает чего хочет
- имя у чекбоксов одинаковое
- есть одно скрытое поле
- перед отправкой в цикле (пример уже был) посчитать количество выбраных чекбоксов
- записать это число в скрытую переменную
- после этого передать форму
Ответить с цитированием
Ответ



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

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


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