Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Значение checkbox отправляется в <textarea>, Как только поставли галочку 
:(
    Опции темы
Enya
Дата 12.11.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Есть некий перечень из 10-12 пунктов. все checkbox-ы
Есть поле <textarea> и как только я поставил галочку, напротив какого-то слова (пукта), это слово попало в поле тега <textarea>. smile  smile 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 12.11.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



А при сбросе этого чекбокса, если я верно понимаю, нужно найти соответствующее слово в textarea и удалить его оттуда?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
skyboy
Дата 12.11.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Код

<html>
<head>
<script type="text/javascript">
function getNextSiblingTextNode(el)
{
 while(el != undefined && el != null && el.nodeType != 3)
  el= el.nextSibling;
 if(el != null)
  return el.nodeValue;
 else 
  return '';
}
function check(el)
{
if(el.txtNode == undefined) 
{
 if(el.checked)
 {
  el.txtNode= document.createTextNode(getNextSiblingTextNode(el));
  document.getElementById('target').appendChild(el.txtNode);
 }
 else
  el.txtNode= undefined;
}
else
{ 
 el.txtNode.parentNode.removeChild(el.txtNode);
 el.txtNode= undefined;
}
}
</script>
</head>
<body>
<textarea id="target">
</textarea>
<br />
<input type="checkbox" onclick="check(this);" />first check
<input type="checkbox" onclick="check(this);" />third check
<input type="checkbox" onclick="check(this);" />second check
</body>
</html>

Воспользуемся двумя вещами:
1. можно добавлять собственные свойства  "стандартным" казалось бы объектам
2. несмотря на наличие свойства value у textarea можно запихивать chilDNodes и они будут отображаться "внутри"
PM MAIL   Вверх
SelenIT
Дата 12.11.2006, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



skyboy, красота! Большое спасибо за поучительную демонстрацию того, что 
Цитата(skyboy @  12.11.2006,  15:52 Найти цитируемый пост)
у textarea можно запихивать chilDNodes и они будут отображаться "внутри"

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


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Enya
Дата 12.11.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



skyboy, Спасибо. + я уже отправила. действительно красиво и то что нужно показано.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
skyboy
Дата 12.11.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



SelenIT, сам не знал до прошлой недели smile зато как широко можно такую штуку использовать!
PM MAIL   Вверх
12345c
Дата 12.11.2006, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Что-то красоты не видать. В FF1.07, NS8.1 возникает артефакт - 2-е висящее изображение последнего введённого текста. Оперы 7.54, 8.01 не работают.
PM WWW   Вверх
SelenIT
Дата 12.11.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



12345c, 
Цитата(12345c @  12.11.2006,  17:27 Найти цитируемый пост)
Оперы 7.54, 8.01 не работают

Увы, да. И что еще хуже, 9.01 - тоже. Причем оказалось, что (как минимум в 8.02 и 9.01) текстовые ноды внутрь textarea добавляются, но почему-то не отображаюются. Строчка
Код

document.getElementById('target').value = document.getElementById('target').innerHTML;

в конце функции check() приводит Оперу в чувство (текст начинает отображаться), но остается другой артефакт - пустые строки в начале и конце текстарии (лечится дополнительным риплейсом). А в IE значения изначально выводятся в одну строчку...
Но разве эти нюансы и тонкости отменяют сам принцип  smile ?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
skyboy
Дата 12.11.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(SelenIT @  12.11.2006,  17:40 Найти цитируемый пост)
А в IE значения изначально выводятся в одну строчку...

ага. придется делать принудительный перенос строки smile
Цитата(12345c @  12.11.2006,  16:27 Найти цитируемый пост)
В FF1.07, NS8.1 возникает артефакт - 2-е висящее изображение последнего введённого текста. Оперы 7.54, 8.01 не работают. 

я вообще не ожидал, что нечто вне .value будет отображаться внутри textarea. потому смею предположить, что это скорее бага и сильно рассчитывать на неё не стОит. кроме того, я не проверил, что будет отправляться обработчику формы - будут ли там добавленные ноды...
PM MAIL   Вверх
12345c
Дата 12.11.2006, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Этот баг в FF2.0 исправлен, а в 1.5.07 как?
PM WWW   Вверх
skyboy
Дата 12.11.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



12345c, что именно? отобраджение дочерних узлов аки наполнение? нет, не исправлен, я отлаживал как раз под 1.5.0.7
PM MAIL   Вверх
12345c
Дата 12.11.2006, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Это:

Добавлено @ 23:15 
(Это всё лирика, а решение - брать Сборную солянку-3 из раздела "Наши скрипты" и устраивать кнопки (не чекбоксы) для вывода. Убираться, конечно, не будут по снятию чекбокса.)

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  snap.png 2,70 Kb
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.