За последние 24 часа нас посетили 23054 программиста и 1228 роботов. Сейчас ищут 686 программистов ...

textarea

Тема в разделе "JavaScript и AJAX", создана пользователем Lesya, 27 сен 2006.

  1. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Совершенно случайно обнаружила, что
    PHP:
    1. <?
    2.     echo "<SCRIPT language='JavaScript' type='text/javascript'>"
    3.          ."document.Form.Text_Area.value = '".mysql_result($zapr,0,5)."';"
    4.          ."</SCRIPT>";
    5. ?>
    код не всегда работает. Как выяснилось, не работает он в случаях, когда mysql_result($zapr,0,5) содержит перевод строки.
    Может быть кто-нибудь знает как исправить ошибку?
     
  2. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
  3. Mavir

    Mavir Guest

    Нужно заменить перевод строки на \n
    str_replace("\n",'\n',mysql_result($zapr,0,5))
     
  4. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Честно говоря, не поняла разницы между "\n" и '\n'
    В любом случае, не помогает
     
  5. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Мне не надо убирать символы, а надо каким-то образом тот текст в textarea впихнуть.
     
  6. Mavir

    Mavir Guest

    А попробуй вывести
    PHP:
    1. <?
    2. print "Привет\nПривет";
    3. ?>
    и
    PHP:
    1. <?
    2. print 'Привет\nПривет';
    3. ?>
    ;)
    Только смотреть нужно исходный код или заключить в тег <pre></pre>

    Чтобы было более понятно, то можно заменить на
    str_replace("\n","\\n",mysql_result($zapr,0,5))
     
  7. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Сделала так:
    PHP:
    1. <?
    2.     echo '<SCRIPT language="JavaScript" type="text/javascript">'
    3.          .'document.Form.Text_Area.value = "'.mysql_result($zapr,0,5).'";'
    4.          .'</SCRIPT>';
    5. ?>
    но все равно не помогло :(
     
  8. Mavir

    Mavir Guest

    А если ручками прописать, например, так
    Код (Text):
    1. <SCRIPT language='JavaScript' type='text/javascript'>
    2. document.Form.Text_Area.value = 'Первая строка\nВторая строка';
    3. </SCRIPT>
    Тоже не работает?
     
  9. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    str_replace("\n","\\n",mysql_result($zapr,0,5)) тоже не помогает
     
  10. Mavir

    Mavir Guest

    А в чем разница между этим кодом и в первом посте?
     
  11. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    работает
     
  12. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    кавычки " и ' поменяла местами
     
  13. Mavir

    Mavir Guest

    Тогда должно работать и это
    PHP:
    1. <?
    2.     echo '<SCRIPT language="JavaScript" type="text/javascript">'
    3.          .'document.Form.Text_Area.value = "'.str_replace("\n","\\n",mysql_result($zapr,0,5)).'";'
    4.          .'</SCRIPT>';
    5. ?>
     
  14. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Может там другой символ встречается, который java не любит?

    Текст вводится с клавы в textarea и запоминается в mysql. А потом по запросу возвращается назад в тот же textarea.
    Причем, с mysql это вряд ли связано: я вывожу этот текст на экран не в textarea без проблем.
     
  15. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Не хочет работать :)
     
  16. Mavir

    Mavir Guest

    А покажи результат выполнения скрипта (между <SCRIPT> и </SCRIPT>)
     
  17. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Код (Text):
    1. <SCRIPT language="JavaScript" type="text/javascript">document.Form.Text_Area.value = "[COLOR=red]111[/COLOR]
    2. \n[COLOR=blue]333[/COLOR]
    3. \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):
    1. <SCRIPT language="JavaScript" type="text/javascript">document.Form.Text_Area.value = "[COLOR=red]111[/COLOR]
    2. [COLOR=blue]333[/COLOR]
    3. [COLOR=green]555[/COLOR]";</SCRIPT>
     
  18. Mavir

    Mavir Guest

    С 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))

    Больше пока придумать не могу.
     
  19. Mavir

    Mavir Guest

    Т.е. в результате значение TEXTAREA должно быть в одну строку

    Код (Text):
    1. <SCRIPT language="JavaScript" type="text/javascript">
    2. document.Form.Text_Area.value = "[COLOR=red]111[/COLOR]\n[COLOR=blue]333[/COLOR]\n[COLOR=green]555[/COLOR]";
    3. </SCRIPT>
     
  20. Davil

    Davil Guest

    Люди! Вы что, про шаблоны совсем забыли?
     
  21. Mavir

    Mavir Guest

    И как они тут помогут?
     
  22. Davil

    Davil Guest

    Никак, просто я смотрю на конструкции типа
    $a = "asd="'.asd.'"asdf"'.asd'";
    И меня дрожь пробирает :)
     
  23. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Это где ты такие конструкции нашел? :shock: Либо я чего-то не понимаю, либо... одно из двух :D
     
  24. Davil

    Davil Guest

     
  25. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    Урра! Заработало!
    Спасибо, Mavir, там действительно стоял \r.
    Интересно, чем он так не понравился jav-е?