jQuery将url参数传递给单独的函数参数?

时间:2012-12-19 21:04:19

标签: javascript jquery function param

PHP开发需要JS帮助!我是JS的新手,无法解决这个问题。

我有一个小的jQuery插件 gSearch http://gsearch.scottreeddesign.com/index.html在您的网页中执行Google搜索。它不是使用POST / GET功能构建的,您需要在函数参数中定义“搜索项”。我正在尝试修改它。

我有2页:

search.html 包含:

<form action="results.html">
  <input type="text" name="q" id="term">
  <input type="button" id="search_button" onclick="this.form.submit();">
</form>

results.html 包含:

$("#search-results").gSearch({
    search_text : 'brian griffin',
    count : 4,
    site : 'wikipedia.org',
    pagination : false  
});

并在身体中:

<div id="search-results"></div>

现在我需要从表单中获取搜索词,并将其作为变量传递给 .gSearch 函数。我该怎么做?我看到关于如何获取/返回url参数的帖子,但我似乎找不到任何解释如何将其转换为变量并将其传递给另一个函数?我可以用纯PHP关闭我的眼睛,但我是JS的新手!

3 个答案:

答案 0 :(得分:0)

$('form').on('submit', function(e){
    e.preventDefault(); //stop default form submit
    $('#search-results').gSearch({
        search_text: $('#term').val(), //the term to search
        count: 4, //how many
        site: 'wikipedia.org', //a site to match the search against
        pagination: false //whether or not to use pagination
    }); 
});

我们捕获表单提交并使用preventDefault()将其停止。之后,我们将gSearch应用于id为search-results的元素(返回的结果将附加到其中)。我们在对象请求中定义了一些参数。这应该足够了。

答案 1 :(得分:0)

试试这个

$('#search_button').on('click', function(e) {
    e.preventDefault();

    var $search = $('#term').val();

    // Assign it to the gSearch
    $("#search-results").gSearch({
        search_text: $search,
        count: 4,
        site: 'wikipedia.org',
        pagination: false
    });


});​

答案 2 :(得分:0)

没有内置的方法来读取JavaScript中查询字符串中的键/值对。要从查询字符串中获取值parse location.search

var searchTerms = "";
if (/\bq=([^&]+)/.test(location.search)) {
    searchTerms = decodeURIComponent(RegExp.$1);
}
$("#search-results").gSearch({
    search_text : searchTerms,
    count : 4,
    site : 'wikipedia.org',
    pagination : false  
});

您无法从JavaScript中读取POST值。这些只在服务器端可用。