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>
Я делаю простейшую форму и передаю параметры файлу 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>