在Jquery中使用$ _GET

时间:2013-09-15 19:32:09

标签: javascript php jquery

我目前在我的网站上有以下代码:

$(document).ready(function() {
$("#contact").on("click", function(e)
{ 
    e.preventDefault();
    $("#contactform").toggle('fast');
});
});

我想要一个if(isset($ _ GET ['email'));也可以触发此函数,如果设置了$ _GET变量,则在页面加载时打开它。

我对Jquery很新,并且不确定这是否可行,我还有另一个有点相关的问题,我不确定我是否应该为此提出一个新问题,因为我对stackoverflow也很新,但现在是。

说我有两个:

$(document).ready(function() {
$("#contact").on("click", function(e)
{ 
    e.preventDefault();
    $("#contactform").toggle('fast');
});
});

$(document).ready(function() {
$("#archivestop").on("click", function(e)
{ 
    e.preventDefault();
    $("#archives").toggle('fast');
});
});

如果打开另一个,我希望关闭一个,我该怎么办呢?

谢谢!

3 个答案:

答案 0 :(得分:2)

这是Javascript解决方案:

function getParam(key) {
        var paramsStr = window.location.search.substr(1, window.location.search.length),
            paramsArr = paramsStr.split("&"),
            items     = [];

        for (var i = 0; i < paramsArr.length; i++) {
            items[paramsArr[i].split("=")[0]] = paramsArr[i].split("=")[1];
        }

        if (key != "" && key != undefined) {
            // return single
            if (items[key] != undefined) {
                return items[key];
            } else {
                return null;
            }
        } else {
            // return all (array)
            return items;
        }
    };

if (getParam("email")) { 
    //    ...
}

答案 1 :(得分:1)

关于第二个问题,您可以使用以下内容来确定元素是否可见:

var bool = $('.foo').is(":visible");

所以要隐藏元素,如果它是可见的,你会做这样的事情:

if ($('.foo').is(":visible")) {
    $('.foo').hide();
}

答案 2 :(得分:0)

我很傻,已经回答了我的第一个问题。我还没有喝咖啡。

以下工作,只需将其插入要显示的div中:

<div id="contactform" style="<?php if(isset($_POST['email'])) echo "display:block;" ?>">
content
</div>