Совершенно случайно обнаружила, что PHP: <? echo "<SCRIPT language='JavaScript' type='text/javascript'>" ."document.Form.Text_Area.value = '".mysql_result($zapr,0,5)."';" ."</SCRIPT>"; ?> код не всегда работает. Как выяснилось, не работает он в случаях, когда mysql_result($zapr,0,5) содержит перевод строки. Может быть кто-нибудь знает как исправить ошибку?
А попробуй вывести PHP: <? print "Привет\nПривет"; ?> и PHP: <? print 'Привет\nПривет'; ?> Только смотреть нужно исходный код или заключить в тег <pre></pre> Чтобы было более понятно, то можно заменить на str_replace("\n","\\n",mysql_result($zapr,0,5))
Сделала так: PHP: <? echo '<SCRIPT language="JavaScript" type="text/javascript">' .'document.Form.Text_Area.value = "'.mysql_result($zapr,0,5).'";' .'</SCRIPT>'; ?> но все равно не помогло
А если ручками прописать, например, так Код (Text): <SCRIPT language='JavaScript' type='text/javascript'> document.Form.Text_Area.value = 'Первая строка\nВторая строка'; </SCRIPT> Тоже не работает?
Тогда должно работать и это PHP: <? echo '<SCRIPT language="JavaScript" type="text/javascript">' .'document.Form.Text_Area.value = "'.str_replace("\n","\\n",mysql_result($zapr,0,5)).'";' .'</SCRIPT>'; ?>
Может там другой символ встречается, который java не любит? Текст вводится с клавы в textarea и запоминается в mysql. А потом по запросу возвращается назад в тот же textarea. Причем, с mysql это вряд ли связано: я вывожу этот текст на экран не в textarea без проблем.
Код (Text): <SCRIPT language="JavaScript" type="text/javascript">document.Form.Text_Area.value = "[COLOR=red]111[/COLOR] \n[COLOR=blue]333[/COLOR] \n[COLOR=green]555[/COLOR]";</SCRIPT> это после str_replace("\n","\\n",mysql_result($zapr,0,5) без str_replace("\n","\\n",mysql_result($zapr,0,5): Код (Text): <SCRIPT language="JavaScript" type="text/javascript">document.Form.Text_Area.value = "[COLOR=red]111[/COLOR] [COLOR=blue]333[/COLOR] [COLOR=green]555[/COLOR]";</SCRIPT>
С str_replace не все заменяется. После [/COLOR] еще есть перевод строки. Скорее всего там перевод строки обозначается как \r\n. Попробуй так str_replace("\r\n","\\n",mysql_result($zapr,0,5)) А лучше так preg_replace("!\\r?\\n!","\\n",mysql_result($zapr,0,5)) Больше пока придумать не могу.
Т.е. в результате значение TEXTAREA должно быть в одну строку Код (Text): <SCRIPT language="JavaScript" type="text/javascript"> document.Form.Text_Area.value = "[COLOR=red]111[/COLOR]\n[COLOR=blue]333[/COLOR]\n[COLOR=green]555[/COLOR]"; </SCRIPT>
Урра! Заработало! Спасибо, Mavir, там действительно стоял \r. Интересно, чем он так не понравился jav-е?