JavaScript vs. PHP

WebByte

Проходящий мимо
JavaScript vs. PHP

Я делаю простейшую форму и передаю параметры файлу price_save.php методом post.
При этом - если форма находится просто в теле скрипта - все работает корректно. Если же она генерируется из javascript функции - символы кириллицы автоматически заменяются, видимо, на их коды в символьном выражении.
Т.е. строка '12345тестТЕСТ12345' преобразуется в '12345тестТЕСТ12345'.
Как с этим бороться?

Вызывающий скрипт:
<html><head><title></title></head>
<body>
<script language="javascript">
function test()
{
document.writeln("<form name='FormName' action='price_save.php' method='post'>");
document.writeln("<input name='Name' type='text' value='12345тестТЕСТ12345'>");
document.writeln("<input type='submit' value='Send_From_Function'>");/*НЕ РАБОТАЕТ*/
document.writeln("</form>");
}

document.writeln("<form name='FormName' action='price_save.php' method='post'>");
document.writeln("<input name='Name' type='text' value='12345тестТЕСТ12345'>");
document.writeln("<input type='submit' value='Send_directly'>");/*РАБОТАЕТ!!!*/
document.writeln("</form>");
</script>

<input type="button" value="Send_через вызов функции test" onclick="test()">
</body></html>

Текст скрипта "price_save.php":

<html><head><title></title></head><body>

<?php

while (list ($key, $val) = each ($_POST))
{
print ("$key > $val<br>");
}
?>

</body></html>
 

Crazy

Developer
Это у тебя, судя по всему, UTF-8... :) Читай про iconv и молись, чтобы он был на твоем хостинге...
 

Макс

Старожил PHPClub
А зачем ты форму выводиш яваскриптом?
Нельзя ли поместить ее в слой и показывать/прятать? (в таком случае форма не будет выводиться яваскриптом непосредственно и по идее такой проблемы быть не должно)

ЗЫ
а вообще я сторонник минимального использования яваскрипта
 

WebByte

Проходящий мимо
Там свои заморочки с JS
Но вопрос не в том нужен ли он, а в том как проблема решается
 

voodoo

Новичок
Ямерт, а что такого забавного, если не секрет?
проблема существует, заключается в том что JS пишет данные в юникоде (не всегда, но точно при открытии своего "документа", что и происходит при вызове document.writeln _после_ окончания загрузки хтмля),
и универсального решения пока никто не предложил.
Оно тебе известно? поделись, а не хихикай в углу.
 

Ямерт

The Old One
2voodoo:
Товарищ, остынь, а то вскипишь.
Топик забавен тем, что он мало соответствует самому вопросу. Я ожидал что-то наподобие "ASP vs. PHP", "JSP vs. PHP", судя по топику.
А сама проблема, имхо, в данном случае решается отказом от document.write.
Никакого углового хихиканья по поводу вышеописанной проблемы не усматриваю, ты уж извини.
 

Barlone

Guest
Автор оригинала: WebByte
Там свои заморочки с JS
Но вопрос не в том нужен ли он, а в том как проблема решается
А явно указать кодировку для страницы не пробовал (<META ..... >) ?
 
Сверху