|
|
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Оговорюсь сразу, что с JS я не знаком совсем. Но передомной стоит следующая задача: сдеалть форму с текстовым полем, при начале набора текста в катором ставился бы тег <p> и по достижешию приделов ширины строки (ну или по достижению определённого чиста символов соответствующему ширене строки) вставлялся бы тег <br> ну и естественно по завершению набора текста должен ставится тег </p>. Я совершенно не представляю как можно решить эту задачу... Но дагадки такие,что просто нужно сделать две кнопки над полем, первая открывала бы обзац а вторая бы закрывала ну, а тег <br> вставлялся бы овтоматом хотя можно тоже сделать для него отдельную кнопку. если кто может помогите пожалуйста только мактимально подробно коментируйте то что вы пишите т.к я совершенно не знаю Javascript. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 19:52 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Как я понимаю вы хотите сделать так, чтобы пользователь мог воодить какойто текст, а он патом отправлялся куда нить в виде html? сушествует много готовых уже таких движков. К примеру самый навороченый tinymce, каторый не только форматирует по строчкам текст, но и может вставлять картинки, таблицы итд итп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 20:17 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
ИМХО задача более для серверного скрипта (да и то, возможно на этапе отдачи), нежели для клиентского. Идея с кнопочками не слишком хороша. Вот пример: набран некоторый текст, нажата кнопочка, которая расставит тэги, а после возникает необходимость что то подправить... Придётся выкусывать тэги. Таким образом, лучше прицепить форматирование на onsubmit формы, когда текст полностью готов. По теме: мож проще взять готовый визивиг-редактор? Не вспомню сходу про расстановку <br> на заданной позиции (вроде где то было), но обрамление абзацев тэгами <p> - это у них стандартная фича. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 20:30 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Laughing_man, гугл или МСДН слово "contenteditable" или "execCommand". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 20:33 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
А можно поподробнее узнать про готовые подобные редакторы. Проосто я не встречал, ну и соответственно не предстваляю как его прицыпить к той форме которую мне предстоит сделать. сильно навороченный то конечно никчему мне главное чтоб проще было внём разобраться.... А так то да Вы правильно поняли это нужно для подготовки тенкста для отправки в БД что бы потом всё было отфарматировано так как нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 20:37 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
В своё время, лет пять назад, я с нуля писал, а сейчас есть известный всем fckeditor . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 20:46 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Дааа крутая штука ,только мне не подходит этож целый редактор, а мне-то надо чтоб, пользователь не знакомый с HTML, в админки своего сайта мог бы просто добавить необходимые теги в текст в текстовом поле <textarea>, а потом всё это пойдёт в БД, а уж потом этот текст нормально отображался на сайте. только и всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 20:58 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Вариантов три: -- прикрутить эту штуку, оставив только необходимые кнопочки/тулбары; -- разрешить пользователю вводить только текст по принципу "одна строка = один абзац" (или абзацы отделять не менее чем двумя переводами строки), а окончательную обработку делать на сервере; -- писать свое, с нуля (не забываем о возможности правки текста готовой статьи). Первый вариант не займёт много времени и сил - достаточно прописать несколько тэгов/атрибутов и нарисовать конфиг. Второй много проще в реализации клиентской части (собственно, нужна то только текстария) и не будет кушать траф и подтормаживать при загрузке, но потребует набросать несколько строк серверного кода (а его по любому придётся писать). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 21:16 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Ну PHP мне конечно ближе чем JS. только через, какую функцыю-то вставлять теги обзацен и отсчитывать количество символов? через Preg_match()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 21:26 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Так мыслю, алгоритм обработки текста при приёме от формы примерно таков: - заменяем одиночные переводы строк на пробел (условимся что абзац == то что между двумя или более переводами строк). - убираем все пробелы/табуляцию в начале и конце каждой строки строки. - сокращаем двойные, тройные и тэдэ пробелы и табуляцию до одного пробела. - убираем все переводы строки в начале и в конце текста. - сокращаем двойные, тройные и тэдэ переводы строки до одиночного. - в таком виде пишем в базу. Отдачу статьи клиенту делаем через шаблонизатор, который прикрутит нужные тэги и навтыкает <br> - это есть например, в Smarty. Преимущество очевидно: если в какой то момент потребуется изменить ширину поля с 70 символов до 90 например, то нужно всего лишь поправить одну цифарку в шаблоне, а не перелопачивать все статьи. Либо, зарегистрированый пользователь может в своих настройках выставить желаемое значение. Оно же и недостаток - обработка будет происходить каждый раз при отдаче. Теперь правка... При отдаче текста в текстарию для правки заменяем одиночный перевод строки на два или три. Вроде всё. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 21:52 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Ну вообще звучит довольно логично... ладно попробую решить на практике.. Уж не знаю что выйдет. Но влюбом случае спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 22:00 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
vkle, Ну да. Только всё-таки, на мой взгляд, вместо текстового ареа лучше заюзать контентэдитабле див, с парой - тройкой execCommand (дело пяти минут всю программу написать), а ещё лучше начать таки с этого самого эдитора. Но это - моё мнение. Выбирать - топикстартеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 22:06 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
Мона еще воспользвоаться готовой библиотекой WikiWord на php. ТАм пользователь вводит текст к примеру: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2008, 22:07 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
ShSergeконтентэдитабле див, с парой - тройкой execCommand эммм... а насколько это кроссбраузерно получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 03:51 |
|
||
|
Пожалуйста помогуте решить задачу
|
|||
|---|---|---|---|
|
#18+
illionэммм... а насколько это кроссбраузерно получится? Нормально, пробовал под всеми современными браузерами. Не всё и не везде работает, что касается копипастинга не клавишами типа контрол/ц, а с помощью execCommand. Да и этот самый эфцекаэдитор тоже его юзает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 09:27 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35721063&tid=1455407]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
405ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 698ms |

| 0 / 0 |
