【问题标题】:Navigate to an id, which id values is passed through $_GET variable using javascript导航到一个 id,该 id 值使用 javascript 通过 $_GET 变量传递
【发布时间】:2015-09-16 12:39:11
【问题描述】:

我正在为我的网站进行自定义搜索,搜索结果是指向其他页面的链接以及特定 ID (div id=""),以便可以将该 div 导航到网页顶部。我不能简单地使用 www.mysite.com/faq.php#divid 之类的东西,因为我还必须通过(使用$_GET 变量)一些变量来突出显示目标网页上的搜索文本。有什么方法可以传递搜索突出显示值并将该 div 导航到页面顶部。我也不能使用 SESSION 变量,因为搜索结果会有许多不同的结果。

我的链接是http://www.example.com/faq.php?keyword=somekeyword&divid=q6

【问题讨论】:

标签: javascript php jquery html css


【解决方案1】:

只需使用一些 JS:

function parseUrl(key) {
    /**
     * returns the value of the GET-parameter with key 'key'
     */
    var result,
        tmp = [];
    location.search
        .substr(1)
        .split("&")
        .forEach(function (item) {
            tmp = item.split("=");
            if (tmp[0] === key) result = decodeURIComponent(tmp[1]);
        });
    return result;
}

【讨论】:

  • 非常感谢这么快的回放,不幸的是我的问题不仅仅是从获取变量中检索值(我已经完成了一些 php 和 json_encode,但现在我将使用它),而是我如何可以浏览我的网页,以便可以将特定的 div 带到页面顶部。例如,如果 id 是“q6”,那么像 www.example.com/faq.php#q6 这样的事情可能已经完成。由于我使用 get 方法来传递值,所以我不能那样做。 javascript中有没有办法从GET变量获取id值后,将id带到页面顶部?抱歉 4 问了这么简单的问题 :(
  • 哦,那是另一回事。如果您使用 jQuery(您绝对应该这样做),您可以使用 $.scroll()$(element).offset()
【解决方案2】:

我同意 Alex 和 Cory 的观点,即您可以轻松使用 JS (在此处查看另一个函数:JS get variables from URL

但是让我补充一点,另一种选择是使用服务器端 (php) 来处理 GET 变量并将 div 的 id 传递给 JS。 (不需要 SESSION 变量)类似:

<?php
// TOP OF PAGE
$divid=NULL;
if (isset($_GET["divid"])) {
    $divid=$_GET["divid"];
}
?>
<!-- HTML STARTS HERE -->

那么,在&lt;head&gt;

<script>
var divid="<?php echo $divid; ?>";

if (divid.length >0) {
    // do something with divid
}
</script>

但是 JS 更漂亮... :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    相关资源
    最近更新 更多