我无法将文本字段的值(带有id“code”)更改为PHP值(存储在变量$code
中):
$code = $_POST['code'];
echo "<script language='javascript'>
document.getElementById('code').value = $code </script>";
我也尝试了'$code'
和"$code","..." + "%code + "..."
,但都没有帮助。
我做错了什么?
答案 0 :(得分:3)
试试这个:
$code = $_POST['code'];
echo "<script language=\"javascript\">
document.getElementById(\"code\").value =". $code. "</script>";
或者更好:
<?php
$code = str_replace("'", "\'", htmlspecialchars($_POST['code']));
?>
<script type="text/javascript">
document.getElementById("code").value = "<?php echo $code;?>";//OR <?= $code;?>;
</script>
答案 1 :(得分:3)
$ code是否包含字符串?如果是这样,你需要引用它。
e.g。如果$ code等于“我的测试字符串”,则Javascript将输出如下:
$code = $_POST['code'];
echo "<script language='javascript'>
document.getElementById('code').value = my test string </script>";
这是无效的Javascript。
你需要:
$code = str_replace("'", "\'", $_POST['code']);
echo "<script language='javascript'>
document.getElementById('code').value = '$code' </script>";
我也会这样做:
$code = str_replace("'", "\'", htmlspecialchars($_POST['code']));
htmlspecialchars引用HTML字符以防止XSS攻击。
答案 2 :(得分:1)
.value = $code
到
.value = '".str_replace("'", "\'", $code)."'
答案 3 :(得分:0)
PHP没有看到你编写的$code
。请改用:
$code = $_POST['code'];
echo "<script language='javascript'>
document.getElementById('code').value = ".$code."; </script>";
或
$code = $_POST['code'];
echo "<script language='javascript'>
document.getElementById('code').value = {$code}; </script>";
更明确地允许PHP识别和解析你的字符串。