我想知道这是否可行:
我有一个页面。用户单击链接并调用PHP脚本。 PHP脚本返回true或false。
根据真假,我希望能够切换div。
我想知道我是否需要以AJAX方式进行操作?人们通常如何做到这一点? 似乎非常普遍。
我已经在使用这个YUI库了:
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?2.8.2r1/build/reset-fonts-grids/reset-fonts-grids.css&2.8.2r1/build/base/base-min.css">
答案 0 :(得分:2)
jQuery的:
$.post('/path/to/url', {data: 'some data'}, function(data) {
if (data) $('#some-div').show();
else $('#some-div').hide();
}, 'json');
PHP:
echo json_encode(true);
有关详细信息,请参阅:
答案 1 :(得分:2)
是的,您应该使用AJAX在您的网站中创建良好的流程。您可以使用其中一个大型JavaScript框架,而不是实现自己的AJAX处理函数,我建议使用http://jquery.com/。在那里,您可以阅读(并查看示例)jQuery.ajax
- http://api.jquery.com/category/ajax/。
这应该让你开始,但主要的想法是将该链接绑定到一个AJAX函数,它将调用你的PHP脚本,并根据返回数据的内容,打开/关闭你的DIV。
祝你好运!答案 2 :(得分:2)
设置php脚本以添加隐藏字段...例如......
<input type="hidden" id="passed-value" value="passed-val-is-true" />
然后在你的Javascript中触发切换事件..检查该元素......
在jQuery中会是这样的......
$foo.click(( if (passed-value.value === "passed-val-is-true") { foo.toggle(); }
对不起语法..但你应该得到一般的想法。
另外,如果你需要它没有页面重新加载,我会推荐Ajax(pref通过jQuery)
答案 3 :(得分:0)
是的,非常简单,不需要Ajax。这有两种方式:
使用直接PHP:
<?php
if($test) {
echo "<div>Content...</div>";
}
?>
或者,使用内联Javascript(在PHP脚本中),假设您的HTML中有<div id='targetDiv'>
,PHP中有$testVar
:
<script type='text/javascript'>
function toggle(testVar) {
if(testVar) { document.getElementById('targetDiv').style.display = ""; }
else { document.getElementById('targetDiv').style.display = "none"; }
}
window.onload = function() { toggle(<?php echo $testVar; ?>); }
</script>
第二种方法可以很容易地改变以优雅地降级。