|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
||||||
Заполнение текстовой формы при помощи чекбоксов03.05.2012, 13:22. Показов 4801. Ответов 30
Метки нет (Все метки)
Здравствуйте, помогите пожалуйста с js, а то я не шарю в нём, а время на изучения нет.
Нужна программа которая будет в текстовой форме отображать стоит ли галочка в чек боксе. Как это выглядит, всё просто пользователь ставит галочку и в текстовой форме появляется символ соответствующий данному переключателю, их на странице несколько. При чём сам чек бокс не содержит в значении тот символ который будет отображаться в форме, это нужно задать вручную в программе мне. Мне шаблон подкинули типа: "если галочка стоит в чек боксе с названием "таким-то", то в форме такой-то добавить такой-то символ. Кстати чек боксы выводятся подряд и хотелось бы чтобы в форме сохранялся порядок их расположения, это наверное сделать сложнее. Вот форме с таблицей вместе:
Заранее благодарен.
0
|
||||||
| 03.05.2012, 13:22 | |
|
Ответы с готовыми решениями:
30
Заполнение текстовой формы на сайте Перемещение формы при помощи мыши Нуждаюсь в помощи при обработке формы |
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 03.05.2012, 22:11 | |
|
Всего чекбоксов в строке у вас 8 штук.
Отсюда варианты: ПЕРВЫЙ: На выходе всегда строка из 8 символов (типа двоичного кода), где 1 соответствует наличию галочки, а 0 - её отсутствию. Примеры: 10000001 -- отмечены первый и последний чекбоксы 00000011 -- отмечены два последних чекбокса ВТОРОЙ: На выходе только столько символов, сколько отмеченных чекбоксов. Тогда за каждым из восьми чебоксов должен быть закреплён свой символ. Например, чекбоксы соответствуют латинскому алфавиту (от a до h). Тогда примеры: ah -- отмечены первый и последний чекбоксы jh -- отмечены два последних чекбокса Какой вариант вам нужен? ----- Из каких-таких соображений в именах всех полей (чекбоксов и текстовых) вами написана некая фигня с opt и квадратными скобками? Мир перевернётся, если имена будут без квадратных скобок и без opt, а останется только то, что сейчас есть внутри квадратных скобок?
0
|
|
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
||||||
| 03.05.2012, 22:54 [ТС] | ||||||
|
Здравствуйте! Спасибо что откликнулись на мою просьбу.
По поводу вашего вопроса я бы хотел с вами посоветоваться. Я в php делаю прогу и у меня сегодня вот что вышло, эти 8 чекбоксов я вынес в отдельный файл т.к. они часто повторяются в программе и проще в цикле их вывести чем все прописывать по сто раз. Храню я их следующим образом:
На выходе у меня получаются чибоксы вида opt[key] = 1 key это ключи из массива all_access А когда уже отправляю на сервер я их в цикле перебираю и какие пришли их ключи подставляю в массив all_access['$key']['symbol']. Поэтому получается что они содержат сами символы, а содержат только ключ. Вот как быть? В php я смогу вывести javasript код который вставит в него нужные соответствия символам, но нужно учитывать формат хранения их в файле. А может это сложно и лучше не замарачиваться?
0
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 04.05.2012, 00:08 | |
|
И почему у вас 2 (два) "обслуживания"?
И как вы их одно от другого отличаете? ----- А вообще интересно - спрашиваешь "про Фому", а ответ получаешь "про дядьку в Киеве". Вы по-русски на поставленные мною конкретные вопросы ответить можете? Или так и будете ходить "вокруг да около"? 1. В каком виде должен ВИЗУАЛЬНО отразиться в <INPUT>'e сделанный клиентом выбор чекбоксов в строке? В виде строки из 8-ми позиций двоичного кода? Или в виде строки, содержащей такое количество разных символов, сколько чекбоксов было отмечено? 2. "Нахрена попу гармонь" или зачем В ПРИНЦИПЕ в именах чекбоксов прописана мутотень с квадратными скобками? Без квадратных скобок вам жизнь не в радость?
1
|
|
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
| 04.05.2012, 00:13 [ТС] | |
|
Вариант два я думаю подойдёт.
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 04.05.2012, 00:17 | |
|
Вот интересно, это мне надо или вам?
Почему я должен ответ на КАЖДЫЙ свой вопрос вытягивать из вас клещами? Посмотрите - сколько мною было задано вопросов? А сколько раз вы ответили? ----- В общем, когда научитесь вести диалог - то есть отвечать ТОЧНО и НА ВСЕ поставленные перед вами вопросы, тогда и приходите.
1
|
|
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
||||||
| 04.05.2012, 00:45 [ТС] | ||||||
|
Ой извините пожалуйста я просто торможу. Устал уже.
По поводу двух обслуживаний это опечатка ![]() Могу отвечать по русски на ваши вопросы Перестану ходить вокруг да около 1) Нужно чтобы в текстовом поле появились соответствующие символы (буквы алфавита), при это у самих чибоксов в валуе не они написаны они хранятся в php файле который я показал. Должно в форме появиться например "coh" если галочки отметить "Настройки", "Помощь", "Вкл. откл. сайт". Причём желательно чтобы новый отмечаемый символ появлялся не в конце строки, а по очереди т.е. даже если пользователь в обратном порядке будет ставить эти галочки всё равно должно появиться "coh", a He "hoc". 2)Мутотень прописана для того чтобы в php данные пришли массивом
Ещё раз извините просто устал, если что не ясно, спрашивайте на этот раз я постараюсь внимательнее отвечать. Добавлено через 14 минут Вроде ни чего не упустил, спросите если что-то ещё пропустил.
0
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 04.05.2012, 00:46 | |
|
1. Так откуда браузер должен узнать - какая буква соответствует какому чекбоксу, если прописывать в value чекбоксов вы это не собираетесь? А где тогда прописывать будете? Откуда браузер про эти символы узнает?
2. Насчёт opt [] ничего не понял. На сервер при любом методе (что GET, что POST) отправляются пары имя=значение (по-аглицки name=value). Если ваши чекбоксы НИЧЕГО в value не содержат (или содержат неизменяемую информацию value="1"), то зачем им вообще имена? Зачем ПУСТУЮ информацию отсылать на сервер? ----- По моему скромному разумению вам для отправки на сервер нужны из каждой строки только "Название" (в вашем коде opt[name]) и соответствующую ему строку символов, которую сформирует Javascript (в вашем коде opt[access]). Все прочие элементы формы нужны только и исключительно для формирования значения этого самого поля name="opt[access]". На сервер их (прочих элементов формы) значения посылать не нужно - ибо НЕЗАЧЕМ. Бессмысленно это. Соответственно и имена этим чекбоксам ВООБЩЕ НЕ НУЖНЫ. Таким образом, с именами внутри формы в каждой строке останутся всего два текстовых поля - "Название" и "Символьный код" (кнопке "Добавить" имя также не нужно - зачем вам в программе PHP получать opt[new_group]=Добавить?) Соответственно, двум разных полям совершенно не нужно имя в виде какого-то массива с квадратными скобками. Вполне можно ограничиться name="myName" и name="myCode". Что-то не так?
0
|
|
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
||||||||||||||||
| 04.05.2012, 01:21 [ТС] | ||||||||||||||||
|
И так значит дело вот какое.
Чек боксы не просто формируют значение текстовой формы, в случае если отключен javascript и придёт пустая строка из текстовой формы, программа возьмёт массив $POST['opt'] и в цикле его переберёт, т.к. придут у нас только чибоксы с единицами, т.е. с галочками, то придут только те что нужны. Потом я беру массив с права и подставляю туда
Я так понимаю будет проще засунуть в валуе к чибоксам соответсвующие символы и не мучаться, то что пользователь может свои бяки подсовывать в валуе к ним я потом отловлю перед записью в бд. Но обязательно нужно чтобы были имена opt[key] Так гораздо проще работать в дальнейшем. opt[new_group] нужна чтобы сделать такую вещь на странице
Добавлено через 34 секунды Ниужели имена opt[key], так сильно осложняют javascript программу? Добавлено через 1 минуту Насчёт методов метода гет незнаю но когда пост благодаря квадратным скобкам можно задавать массив, Это 100%, иначе моя программа бы не работала. Добавлено через 5 минут Кстати получается что эллементы не только нужны для формирования opt[access], а они так же могут обрабатываться сервером, в случае если javascript был отключён. Давайте будем отталкивать от что имеем таблицу:
Возможно я напутал, обратите внимание что в opt находятся ключи, а там я написал имена. Добавлено через 1 минуту Теперь всё становится на свои места. Просто нужна программа которая будет писать в текстовой бокс значение чек бокса если поставить галочку и удалять его если галочка будет убрана. Вот как бы сделать чтобы ещё последовательность оставлялась неизменной.
0
|
||||||||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 04.05.2012, 01:39 | ||||||
|
Сразу после закрывающего тега </form> добавьте скриптовой блок:
1
|
||||||
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
| 04.05.2012, 02:06 [ТС] | |
|
Ой огромнейшее вам спасибо!
Добавлено через 11 минут Только есть один косяк =) У меня есть ещё одна табличка так в ней несколько строк есть с такими чекбоксами и идут они так opt[string][key], И форма opt[access] выглядет уже opt[string][access], где string это строка в таблице, a key это ключ из файла. Может можно и для этого как-то сделать? Отличие в том что теперь нужно сделать так чтобы когда ставишь галочку в чек боксе в одной строке, то и текст появлялся в ней же. Т.е. у них string одинаковые. Это можно и в отдельную программу засунуть я её сам выведу где надо. Добавлено через 5 минут Ни хочу показаться наглым, но можно ли сделать так чтобы если стоит первая галочка т.е. со значением 'a', то тогда все остальные галочки убирались ну и в форме тоже символы естественно?
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 04.05.2012, 02:20 | |
|
Начну с конца:
1. Если юзер отметит первый чекбокс, то что должно произойти: а) с прочими чекбоксами: должны сняться отметки с них? должны сделаться вовсе недоступными? б) с символьным кодом: в поле должен быть только символ a? 2. А что, если юзер сначала поставит галочку на первом чекбоксе, а затем, подумав, снимет её? Что в этом случае должно произойти: а) с прочими чекбоксами? б) с символьным кодом? (Он должен стать пустым)? ----- Плохо понял по поводу второй (третьей и т.д.) табличек. Во второй (третьей и прочих) табличках будет такая же мутотень с чекбоксами, которые формируют символьный код? И во второй (третьей и т.д. табличках) могут быть поля с теми же в точности именами, что и в первой табличке? И вы хотите, чтобы и во второй (третьей...) табличке работал аналогичный скрипт?
1
|
|
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
| 04.05.2012, 02:46 [ТС] | |
|
Отвечаю по очереди
1.Должны и галочки сняться и в форме только "а" остаться, да и чекбоксы лучше сделать недоступными. 2.Если снимет галочку то все чекбоксы сделать опять доступными, а форму оставить пустую, теперь пользователь может выбрать другой чек бокс, как бы так. Ещё раз по поводу второй табличке. Она выводится на другой странице и поэтому для неё можно использовать другой скрипт. На этот раз это одна табличка в которой несколько строк, у каждой строки есть нормер, и имена форм выводятся сооствуя этим номерам т.е. в первой строке все чек боксы будут иметь вид opt[0][$key], a текстовая форма opt[0][access], на следующей строке opt[1][$key] и opt[1][access] соответственно и т.д. Смысле что теперь не просто нужно в форму записать значение, но сделать так чтобы поставив галочку в одном чек боксе, значение поменялось именно в этой строке. Короче сопоставление строк, т.к. их может n'ное колличество.
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|||||||||||
| 04.05.2012, 09:32 | |||||||||||
|
Поскольку (1) возможно несколько строк в таблице и поскольку (2) возможны разные сложные имена для полей ввода разных форм с учетом (3) приоритетного первого чекбокса в строке
ориентироваться будем на следующее ОБЯЗАТЕЛЬНОЕ в каждой форме и в КАЖДОЙ таблице: а) в каждой форме будет именно таблица (тег <TABLE>); б) каждая строка всех таблиц формируются по единому шаблону:
г) форма с такой таблицей может быть только одна на странице; д) ВСЕ такие таблицы на ВСЕХ страницах будут иметь ОДИН и ТОТ ЖЕ id="rab_table" Тогда можно сделать один скриптовой файл, который можно будет подключать ко всякой странице в заголовке (между <head> и </head>) тегом <script src="путь к файлу file.js"></script> Текст этого файла (сохраните AS IS под именем file.js и положите куда-нить на сервер)
1
|
|||||||||||
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|||||||||||
| 04.05.2012, 11:33 [ТС] | |||||||||||
|
Всё превосходно работает! Вот это то что нужно! Огромное вам спасибо!
Добавлено через 11 минут Раз вы так хорошо знаете js, может ещё подскажете по другой теме. В общем дело такое у меня на сайте было вертикальное css меню, я его взял с интернета. Но с ним есть проблемы то что оно не работает в ie. Для этого написан js fix.
1) Появляется ошибка, в ie тестере пишет просто "An error has occured in this page." Ошибка только в ie! 2)Меню представляет собой список
Как думаете может этот вопрос вынести в отдельную тему?
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
| 09.05.2012, 15:56 [ТС] | |
|
Здравствуйте, сейчас продолжаю делать программу и столкнулся с проблемами.
1) Можно ли сделать программу которую вы для меня написали так, чтобы галочки не только ставились, но и убирались в случае если пользователь сотрёт символ из формы, соответствующий значению чек бокса. Т.е. принцип тот же, только ещё чтобы в обратном порядке работало. 2) В одной из таблиц мне необходимо ещё добавить select с группами. Хотелось бы сделать так чтобы в случае когда форма access была пустой и пользователь выберет группу то в форме access появились соответствующие символы.(Ну и желательно чтобы чек боксы тоже расставились) И тут одна проблема выходит. В общем в этом селекте в option идут названия групп, я могу конечно записать в валуе комбинацию симолов, но в это случае передо мной встаёт проблема, как записать в бд название группы, ведь теперь в валуе его не будет. Может быть можно было бы в валуе хранить всё-таки название группы, а где-нибудь в скрытых полях например соответствия комбинации символов и названий групп для java scripta, а может хранить в формате Name_group:symbol. Например "Главные администраторы:cof".
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 09.05.2012, 17:05 | |
|
1) Можно
2) Уточню (требуются ваши ответы): Выбирать пользователь будет как бы по "Названиям" (самое первое текстовое поле в выложенном вами в первом сообщении в коде)? И эти названия будут текстом тегов <OPTION>, а в value каждого <OPTION> вы планируете поместить некий идентификатор этой группы, и не знаете куда "сунуть" значение как раз последнего текстового поля (которое acсess), так?
0
|
|
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|||||||||||
| 09.05.2012, 17:20 [ТС] | |||||||||||
Пока я храню там в валуе именно символьную комбинацию, но мне это не подходит потому что в бд нужно записывать именно название группы в одну из ячеек, и только если форму access пуста тогда я запрошу из таблицы с группами символьную комбинацию. Кароче получается следующее с одной стороны для записи в бд требуется только название в значении опции, а с другой для ява скрита ведь нужно куда-то символьную комбинацию запихнуть. А поводу значения поля access мне его не надо сувать, мне нужно в него поместить символьную комбинацию которая соответствует группе(только в случае если на момент выбора группы поле access было пустое, если там хоть один символ есть, то уже не нужно ни чего делать) Добавлено через 2 минуты Вообще список должен выглядеть так:
0
|
|||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 09.05.2012, 18:38 | ||||||
|
Вы меня не поняли.
Я глагол "сунуть" применил не к полю с именем access, а к значению поля с именем access, т.е. к этой самой "символьной строке" по отноршению к тегу <OPTION>. Перечитайте выше. Но, в общем, ваши ответы я понял. ----- Теперь снова спрашиваю. Можете ли вы формировать следующий HTML-код для тега <SELECT>:
1. Первый опшен не надо делать недоступным. Он как раз нужен для того, чтобы Javascript мог зафиксировать изменение выбора. 2. Javascript'у вообще-то, неважно - каким будет значение параметра value у тегов <OPTION> (вот для отправки на сервер это важно, ибо отсылается пара "name=value"). Поэтому можно соответствующую символьную комбинацию поместить в любой другой атрибут, который даже можно самому придумать. Предлагаю использовать для хранения "символьного кода" атрибут lang - он поддерживается любым HTML-тегом, но практически никогда и никем не используется.
0
|
||||||
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
| 10.05.2012, 02:29 [ТС] | |
|
Да вы очень хорошо всё придумали, я легко могу сделать такой HTML код. Хорошо вы все придумали.
С праздником! Добавлено через 4 часа 45 минут Два раза написал =)
0
|
|
| 10.05.2012, 02:29 | |
|
Помогаю со студенческими работами здесь
20
Создание входной формы при помощи Мастера Добавление данных в БД с формы при помощи Ajax
При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне корректно Переход между полями формы/таблицы (не при помощи Tab) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|