Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的PHP代码由刷新而不是onClick触发_Php_Javascript_Toggle - Fatal编程技术网

javascript中的PHP代码由刷新而不是onClick触发

javascript中的PHP代码由刷新而不是onClick触发,php,javascript,toggle,Php,Javascript,Toggle,此代码用于打开/关闭聊天 问题是,每次我刷新页面时,它都会打开/关闭聊天,并且应该通过onClick href触发,如 <a href="javascript:void(0)" class="chat_toggle">Enable Chat</a> <!-- Show/Hide Chat --> <?php if ((get_option('show_chat') != "")):?> <script type="text/ja

此代码用于打开/关闭聊天

问题是,每次我刷新页面时,它都会打开/关闭聊天,并且应该通过onClick href触发,如

<a href="javascript:void(0)" class="chat_toggle">Enable Chat</a>



<!-- Show/Hide Chat -->
<?php if ((get_option('show_chat') != "")):?>
    <script type="text/javascript">
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
        $j('.chat_toggle').click(function(){
             document.write("<?php update_option("show_chat",""); ?>");
    });

});
</script>
<?php elseif ((get_option('show_chat') === "")):?>
    <script type="text/javascript">
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
        $j('.chat_toggle').click(function(){
             document.write("<?php update_option("show_chat","1"); ?>");
    });

});
</script>
<?php endif; ?>

var$j=jQuery.noConflict();
$j(文档).ready(函数(){
$j('.chat_toggle')。单击(函数(){
文件。填写(“”);
});
});
var$j=jQuery.noConflict();
$j(文档).ready(函数(){
$j('.chat_toggle')。单击(函数(){
文件。填写(“”);
});
});

有更好的编码方法吗?

PHP在服务器端处理,Javascript在客户端处理。因此,当您尝试使用document.write动态添加PHP时,不会执行PHP(此时服务器看不到)

看起来您需要做的是获取调用update_选项中完成的任何功能,并将其替换为javascript。如果在设置该选项时,服务器端绝对必须更新某些内容,则可以通过AJAX调用进行更新,但仍需要使用Javascript处理前端功能。


<a href="#" class="chat_toggle">Enable Chat</a>

<!-- Show/Hide Chat -->
<script type="text/javascript">
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
        $j('.chat_toggle').click(function(){

<?php if (!empty(get_option('show_chat'))) { ?>

  //you need to add ajax call in here to update the options

<?php 
}
else { ?>

  //you need to add ajax call in here to update the options

<?php } ?>


   });

});
</script>
var$j=jQuery.noConflict(); $j(文档).ready(函数(){ $j('.chat_toggle')。单击(函数(){ //您需要在此处添加ajax调用来更新选项 //您需要在此处添加ajax调用来更新选项 }); });

您需要添加ajax调用来更新选项值,不能简单地使用document.write。。jquery附带了一个简单而强大的ajax函数。关于如何实现这一点,有很多例子。

您确实意识到,您不能
document.write()
PHP代码并让PHP代码在浏览器客户端正确执行?可能只有更好的方法可以实现这一点?@MikeBrant-只要
update\u option()
document.write
输出字符串即可,当然可以,但是在写文档时,其他所有内容都会消失?谢谢你的帮助。不幸的是:致命错误:无法在第179行的/wp content/themes/criatweb/header.php的写上下文中使用函数返回值