此代码用于打开/关闭聊天
问题是,每当我刷新页面时它会打开/关闭聊天,它应该用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; ?>
有更好的方法来编码吗?
答案 0 :(得分:1)
PHP在服务器端处理,Javascript在客户端处理。因此,当您尝试使用document.write动态添加PHP时,PHP将不会被执行(此时服务器不会看到它)。
看起来你需要做的是在调用update_option时执行任何功能,并用javascript替换它。如果在设置该选项时必须在服务器端更新某些内容,则可以使用AJAX调用来执行此操作,但仍需要在Javascript中处理前端功能。
答案 1 :(得分:0)
<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>
你需要添加ajax调用来更新你的选项值,你不能简单地使用document.write .. jquery带有一个简单强大的ajax函数。有很多如何实现它的例子。