Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по Textarea

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Hol1killer
Отправлено: 18 Июня, 2015 - 15:27:55
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Здравствуйте, уверен поднимали тему не раз, но проблема для меня достаточно актуальна.

В базе данных есть определенные данные о номерах продукции которые связанны с товаром.

Есть определенный интерфейс в нем редактируется информация о продукции и в нем для этих номеров используется textarea. Мне нужно вывести в textarea в таком виде номера:

111
122
133
144

Что бы между номерами прям в textarea был перенос строки. Я перед выводом формирую переменную

$result = $result.$number."\n";

где $number изменяется в цикле и подставляет каждый новый номер.

А после вывожу: <textarea name="number" rows="5"><?php echo $result; ?></textarea>

и все равно получаю вывод через пробел ( пропускал переменную $result через функцию nl2br - но вижу тогда прям в textarea эти <br> ).

Понимаю, что вопрос ламерский но не могу понять где ошибаюсь и вообще поддерживает ли textarea форматирование или нужно копать в сторону JS

(Отредактировано автором: 18 Июня, 2015 - 15:29:53)

 
 Top
Sail
Отправлено: 18 Июня, 2015 - 15:52:19
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Hol1killer попробуйте константу PHP_EOL использовать.

(Отредактировано автором: 18 Июня, 2015 - 15:59:54)

 
 Top
fanatikus
Отправлено: 18 Июня, 2015 - 19:05:35
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <textarea><?php  echo '111'.chr(13).'222'.chr(13).'333';?></textarea>
 
 Top
Dastor
Отправлено: 19 Июня, 2015 - 08:55:20
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




\r\n используй
(Добавление)
Sail пишет:
Hol1killer попробуйте константу PHP_EOL использовать.

Это кстати не прокатит.. Речь ведь о клиентской стороне.
Предположим, что сервер linux. Тогда в качестве PHP_EOL будет использоваться LF(т.е. \n). У пользователя винды (и мака кстати) опять же переносов строки в этом случае не будет. А вот у пользователя *никса будет Улыбка
 
 Top
Sail
Отправлено: 19 Июня, 2015 - 09:58:55
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Dastor пишет:
Речь ведь о клиентской стороне.

Отнюдь Улыбка
(Добавление)
Hol1killer пишет:
и все равно получаю вывод через пробел

Может, на клиенте js отрабатывает и заменяет всё, что считает лишним на пробел?
 
 Top
Hol1killer
Отправлено: 19 Июня, 2015 - 11:04:19
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Всем спасибо за ответы.

Sail пишет:
Hol1killer попробуйте константу PHP_EOL использовать.


Не помогает, разницы нету.

fanatikus пишет:
<textarea><?php  echo '111'.chr(13).'222'.chr(13).'333';?></textarea>


Этот способ тоже не работает..

Sail пишет:
Может, на клиенте js отрабатывает и заменяет всё, что считает лишним на пробел?


Уже тоже смотрю в это сторону изменить innerHTML, вопрос в том будут ли переносы строк при отправке на сервер, а то у меня эти номера разделяются через переносы строк....
 
 Top
Dastor
Отправлено: 19 Июня, 2015 - 11:35:10
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




\r\n не пробовали? или chr(13).chr(10)
 
 Top
Мелкий Супермодератор
Отправлено: 19 Июня, 2015 - 11:39:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




HTML4: http://www[dot]w3[dot]org/TR/html401/int[dot][dot][dot]s[dot]html#h-17[dot]13[dot]4
Для перевода строки используется CR LF (ака \r\n)

HTML5: http://www[dot]w3[dot]org/TR/html5/forms[dot][dot][dot]textarea-element
Необработанный пользовательский ввод может быть любой, по API браузер должен отдавать LF, в качестве отправляемого на сервер значения - вновь CR LF.

http://stackoverflow[dot]com/questio[dot][dot][dot]e-in-a-text-area

Dastor прав в обоих утверждениях:
PHP_EOL использовать для отдачи данных пользователю нельзя.
\r\n использовать нужно и соответствует как стандарту, так и сложившейся практике браузеров. Работать будет и не приводит к проблемам.
Так же, можно использовать HTML-сущности символов CR и LF: http://stackoverflow[dot]com/questio[dot][dot][dot]ine-in-text-area


-----
PostgreSQL DBA
 
 Top
Hol1killer
Отправлено: 19 Июня, 2015 - 12:25:42
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




[quote=Мелкий][/quote]
Dastor пишет:
\r\n не пробовали? или chr(13).chr(10)


Пробывал \r\n - отдачи нету.

chr(13).chr(10) - тоже самое.

Мелкий пишет:
HTML4: http://www[dot]w3[dot]org/TR/html401/int[dot][dot][dot]s[dot]html#h-17[dot]13[dot]4
Для перевода строки используется CR LF (ака \r\n)

HTML5: http://www[dot]w3[dot]org/TR/html5/forms[dot][dot][dot]textarea-element
Необработанный пользовательский ввод может быть любой, по API браузер должен отдавать LF, в качестве отправляемого на сервер значения - вновь CR LF.

http://stackoverflow[dot]com/questio[dot][dot][dot]e-in-a-text-area

Dastor прав в обоих утверждениях:
PHP_EOL использовать для отдачи данных пользователю нельзя.
\r\n использовать нужно и соответствует как стандарту, так и сложившейся практике браузеров. Работать будет и не приводит к проблемам.
Так же, можно использовать HTML-сущности символов CR и LF: http://stackoverflow[dot]com/questio[dot][dot][dot]ine-in-text-area


Согласен с вами, сам не понимаю почему не форматируется доктайп используется от HTML 5

Решение нашел в HTML сущностях, если писать HTML сущности то все работает, но почему тогда при форматировании:

$crossNumberNew = $crossNumberNew.$value.chr(13).chr(10); или
$crossNumberNew = $crossNumberNew.$value."\r\n";

а $crossNumberNew = $crossNumberNew.$value." "; - а вот такой вариант идеально раставляет переносы.

Спасибо и за это решение.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB