|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » JavaScript: Передача переменных |
|
|
JavaScript: Передача переменных
|
Новый участник Сообщения: 37 |
Профиль | Отправить PM | Цитировать Такая проблемка возникла. Есть на странице пле ввода текста и кнопка. Вводимый текст хранится в переменной msg. По клику на кнопку вызывается функция send(), которая загружает страницу с php, обрабатывающем текст в переменной.
function send(){window.location="sendingsms.php?msg="+msg.value;} Трабла в том, что при этом, почему то, теряются все символы перевода строки (13,10). Т.е. Сколько бы строк не ввел, сколько бы раз не нажал ENTER, все-равно, как будто одна строка - ни одного перевода строки. Пробовал перед отправкой alert(msg.value); чтобы посмотреть, нет ! все нормально ! все по строкам, чики-пуки. А дргуая страница грузанулась и все ! Нет переводов строк ! Одна строка типа... Я уж и не знаю как быть. Подскажите решение, век благодарен буду. |
|
Отправлено: 05:22, 12-05-2005 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать А можно такой вопрос, зачем вы используете Джава скрипт ддля посылки данных PHP-скрипту? Легче же от PHP-скрипта PHP-скрипту данные передовать
|
------- Отправлено: 12:31, 12-05-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Crowner а ты попробуй переносы писать так: \\n
|
------- Отправлено: 19:01, 12-05-2005 | #3 |
Новый участник Сообщения: 37
|
Профиль | Отправить PM | Цитировать Ну. Возникла такая ситуация, что передать надо так ) А насчет писать переносы... Не получится. Текстовое поле. Я ж не напишу типа "Пользователи ! Не жмите ENTER пишите символ переноса! "
|
Отправлено: 11:54, 13-05-2005 | #4 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Вероятнее всего эти символы теряются при переносе в location (присвоении). можно попробовать следующий маневр -
Только следует в php скрипте раскодировать строку, она URL закодирована. В этом поможет функция php urldecode. |
|
------- Отправлено: 12:51, 13-05-2005 | #5 |
Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Crowner никого просить не надо.
у textarea например есть атрибут wrap, который в свою очередь имеет три параметра: soft,hard и off soft(по умолчанию) - включает перенос строк, и при этом не вставляются символы возврата каретки; hard - включает перенос строк и заставляет область редактирования вставлять в нужные места результирующего текста символы возврата каретки; off - отключается перенос строк. IE 4.0 + NN 2.0 + в остальных ПА не фиксил, не знаю.. ============== Prisoner, encodeURIComponent - в свое время я эту функцию тут спрашивал, а мне так и не ответил никто)... |
------- Отправлено: 23:48, 13-05-2005 | #6 |
Новый участник Сообщения: 37
|
Профиль | Отправить PM | Цитировать Да нет...Не в атрибуте wrap дело. Я вот попробовал по совету Prisoner сделать кодирование. Проблема теперь с русским языком
Т.е. латинские символы нормально все. А вот русские. Вместо слова ПРИВЕТ например получается Привет Вот такая кака |
Отправлено: 16:47, 15-05-2005 | #7 |
Новый участник Сообщения: 37
|
Профиль | Отправить PM | Цитировать В общем проблемы с кодировками. Я уже заколебался над этим работать. Помогите !
В общем я так сделал. function send(){ mes=encodeURIComponent(msg.value); window.location="sendingsms.php?&msg="+mes;} На другой странице, php принимает: $msg=$_REQUEST[msg]; $msg=urldecode($msg); И в результате совсем неудобоваримые символы вместо русских. |
Отправлено: 17:34, 15-05-2005 | #8 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Хм... моя оплошность . Ну да ладно, пробуем расширенный вариант:
На стороне сервера будем использовать две функции (взяты из из статьи dklab.ru): // Undo JS's escape() function. function _unescape($s) { $s = preg_replace_callback( '/% (?: u([A-F0-9]{1,4}) | ([A-F0-9]{1,2})) /sxi', '_unescapeCallback', $s ); return $s; } // Inplace entity replacement. function _unescapeCallback($p) { if ($p[1]) { $u = pack('n', $dec=hexdec($p[1])); $c = @iconv('UCS-2BE', 'windows-1251', $u); } return $c; } |
------- Отправлено: 13:26, 16-05-2005 | #9 |
spawnn
Сообщения: n/a |
э братва ... классно ... получилось...
мож еще подскажете как сделать escape ... |
Отправлено: 16:58, 02-08-2005 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
настройка системных переменных | dromaxim | Microsoft Windows NT/2000/2003 | 9 | 28-12-2005 17:51 | |
Передача переменной из PHP в JavaScript | rulllesss | Вебмастеру | 1 | 25-07-2005 09:27 | |
PHP и передача значений переменных... | Guest | Вебмастеру | 3 | 13-04-2004 14:01 | |
method="post" формы и передача переменных в PHP | Prisoner | Вебмастеру | 5 | 26-04-2003 18:01 | |
Передача строки в функцию Javascript | Faina | Вебмастеру | 7 | 07-03-2003 15:47 |
|