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> |
Цитата:
Я просто не понимаю пока что тебе нужно в итоге... Ранее ты хотел считать "выбраные" чекбоксы, теперь что-то хранить в скрытой переменной формы... |
Щас я подробно объясню! Просто я пытаюсь найти оптимальный способ вот и пробую написать!
<?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 ты мне помог и сделал обращение по имени, но тогда чек бокс не выбирался. и не приходил на почту, вот я и решил всё это переписать! |
Вообщем я пока до такого додумался.
Создал отдельную функцию, при нажатии основного чек бокса выводится текстовое поле с 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> Может что то проще есть! =) |
klubnichkaaa, для твоей задачи предложу такой вариант:
- пусть пользователь выбирает чего хочет - имя у чекбоксов одинаковое - есть одно скрытое поле - перед отправкой в цикле (пример уже был) посчитать количество выбраных чекбоксов - записать это число в скрытую переменную - после этого передать форму |
Часовой пояс GMT +3, время: 02:56. |