sar*_*hak 9 javascript php echo
为什么这不起作用?
<?php
mysqli_select_db($connect,"dev");
$response = "Select response from revbut where session='$u'";
$rquery = mysqli_query($connect,$response);
$responseanswer = mysqli_fetch_array($rquery);
$re = $responseanswer['response'];
?>
<script type="text/javascript">
<?php echo $re; ?>
</script>
Run Code Online (Sandbox Code Playgroud)
$re内部JavaScript没有得到回应.但是,如果我把它放在上面的PHP函数中,它就会得到回应.
编辑 - 但为什么这不起作用?
if(<?php echo $re; ?>){
document.getElementById('hide').style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)
如果我将隐藏功能置于if之外 - 它正在工作.
Ste*_*rig 15
它得到了回应,但您不会在页面上看到任何内容,因为文本将写在浏览器未显示的Javascript标记内.查看您的页面来源以验证文本是否真的存在.
编辑
尝试
if(<?php echo json_encode($re); ?>){
document.getElementById('hide').style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)
这将确保您的PHP字符串将转换为适当的Javascript类型 - 如果是字符串,它将确保字符串被包含在内"并正确转义.
再次编辑
当您执行以下操作时
<script type="text/javascript">
if(<?php echo $re; ?>){
document.getElementById('hide').style.display = "none"; }
</script>
Run Code Online (Sandbox Code Playgroud)
这是写入HTML页面的内容(然后由浏览器解释)
<script type="text/javascript">
if(whatever is in the $re vairable){
document.getElementById('hide').style.display = "none"; }
</script>
Run Code Online (Sandbox Code Playgroud)
但这甚至不是有效的Javascript.你想要的是什么
<script type="text/javascript">
if("whatever is in the $re vairable"){
document.getElementById('hide').style.display = "none"; }
</script>
Run Code Online (Sandbox Code Playgroud)
请注意,"这确保整个事物是有效的Javascript,并且$re浏览器的Javascript引擎将内容解释为Javascript字符串.调用就是json_encode()这样 - 它将PHP变量转换为适当的Javascript变量.
小智 5
试试这个:
<script type="text/javascript">
alert('<?php echo $re; ?>');
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66896 次 |
| 最近记录: |