проблема переносов в textarea
<form action... name=saveform>
<textarea name=save_text>aaa bbb ccc ddd</textarea> <input type=button onclick="javascript:windows.open(.../.../index.php&act=News&text='saveform.save_text.value' )"> </form> вроде понятно написал, пытаюсь передать текст с переносом строки в другую форму, но получаю там без переносов echo $text выводит "аaabbbcccddd" подскажите что сделать??? |
Если нужно просто вывести текст на страницу, то, как минимум,
echo nl2br($text); Т.е. переносы строк заменить на html-ные переносы строк (<br>). |
это не проканает, так как текст уже приходит без пробелов, они сжираются. nl2br выдаст aaabbbcccddd
|
Так вы GET'ом передаете данные формы. какие могут быть переносы.
Не проще ли сабмит съэмулировать |
нет не проще. если бы было можно, то и вопроса бы не было. на сабмите другое действие.
|
тогда Ajax
|
а примерчик, не особо знаком с ajax
|
Попробуй у textarea добавить свойство wrap="physical".
А вообще вот вам ссылочка на хороший ресурс http://html.manual.ru/ |
wrap="physical" стоит у textarea
при отправле GETom сжираются пробелы. т.е. если алертом вывести save_text будет нормально aaa bbb ccc ddd а вот в новом окне при выводе на печать получаю aaabbbcccddd |
вот вам java версия ф-ции nl2br:
function nl2br(s) { s = s.split("\u000A").join("<br />\u000A"); return s; } |
Цитата:
|
rooker,
может вы уже, наконец, код выложите, чтобы прекратить гадания? |
код был в начале выложен, что еще нужно.
function nl2br(s) { s = s.split("\u000A").join("<br />\u000A"); return s; } помогла, но вот только текст перенесся не весь, обрезался. alert вывел весь текст, а в окне обрезался. как будто лимит какой-то есть |
Цитата:
Цитата:
|
вот код
<form enctype='multipart/form-data' action="http://domen.ru/index.php?act=Profile&CODE=21" method="post" name="saveform2"> <TABLE class=html cellSpacing=0 cellPadding=5 border=0> <TBODY> <tr class=nohover> <td id='board' valign='top'><span CLASS=text>Текст объявления *</span><br> <textarea rows='2' cols='75' name='board' wrap='physical'></textarea></td> </tr> <tr class=nohover> <td CLASS=TopData align='left' colspan='1'><input type='submit' value='Разместить'> <input type='button' value='Предпросмотр' onclick='javascript: preview_pop(board.value);' name='REPLIER' method='POST'></td> </tr> </TBODY></TABLE> </form> function preview_pop(text) { text = text.split("\u000A").join("<br />\u000A"); window.open('http://domen.ru/index.php?act=buddy&CODE=10&text='+text,'width=750 ,height=600,resizable=yes,scrollbars=yes'); } вот такой код. функция вызывает pop-up окно с предпросмотром того, что мы ввели в textarea но в окне видим текст не весь а 2000 символов и абзац... |
Цитата:
|
Ну тогда действительно аякс вам в помощь
|
Kos,
а вы что подразумеваете под этим загадочным словом аякс? |
Ajax я подразумеваю, надеюсь это расписывать не надо
|
Именно, что надо. Каждый под этим словом свое, почему-то, понимает.
|
В целом все понимают одно и то же. Давайте не будем устраивать здесь дискуссию (эта тема не для того). Если вам так интересно - здесь рядом есть раздел, посвященный аяксу.
|
Ну хотя бы скажите, зачем в данной задаче аякс?
|
Можно отпраить содержимое textarea на сервер в нормальном виде, там допустим сохранить их или еще что. После этого запустить второй скрипт через window.open который заберет эти данные, при этом можно даже передать ему указатель на сохраненные данные. А если использовать файл, то после того, как от туда будут взяты данные его удалить, дабы избежать наполнения мусором.
|
А что мешает напрямую передать, без сервера?
|
Если вы снова про $_GET - читайте выше
|
Ну хотя бы в открываемом окне вызвать
alert(opener.document.getElementById('board').value); |
Ему эти данные, как я понял нужны во время выполнения скрипта, до появления у клиента
|
Ну тогда post.
|
Как? Если знаете напишите, мне тоже будет интересно.
|
Ну я так понимаю, проблема только в открытии попапа? Можно я код писать не буду?
С помощью window.open открываем окно с заданным name, потом динамически создаем форму с method=post и target=<вышеуказанное name>, создаем в ней нужные элементы и делаем ей submit. |
Не легче ли аяксом :)
Хотя если автор поста не знает аякс, тогда, действительно, пусть использует ваш метод |
Для вашего варианта неоправданно усложнится серверная часть. И проблема тут не в аяксе, как таковом, а в том, что необходимо делать 2 запроса на сервер и сохранять состояние между этими двумя запросами, а после второго запроса еще и подчищать за собой.
|
Цитата:
|
Kolyaj если не затруднит, можно тему добить до конца, приведите код, что-то я сам не пойму как сделать
|
Часовой пояс GMT +3, время: 05:02. |