2014-01-19 46 views
2

我正在製作下一個頁面系統,您在其中單擊'下一個',它將您帶到下一組元素。增加查詢字符串參數使用jquery函數按鈕單擊

這是在PHP按鈕:

<input id="nextbtn" type="button" value="Next"></input> 

這是jQuery函數:

$('#nextbtn').click(function(){ 

}); 

的網址是:www.domain.com?var1=0&var2=20

我想20每次遞增var1var2點擊「下一步」按鈕。 請告訴我我應該寫在jquery函數中的代碼,以便它可以工作。

+0

jQuery不是必需的。您可以使用PHP($ _GET數組)來檢索這些值,並根據該值計算下一個URL。 –

+0

考慮到您提到您使用的是PHP,您甚至不需要在JavaScript中進行此計算,而是使用PHP。 – MackieeE

+0

你是對的,但按鈕點擊後網址會發生變化,頁面將刷新,變量'$ var1 = $ _GET ['var1']'將獲得新值。我需要知道如何在按鈕單擊時更改查詢字符串。 –

回答

1

你可以得到查詢字符串當前值:

function getQueryStringParameterByName(name) { 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(location.search); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

現在調用這個函數在你的下一個按鈕,點擊添加增量值:

var var1 = parseInt(getQueryStringParameterByName('var1'),10)+20; 
var var2 = parseInt(getQueryStringParameterByName('var2'),10)+20; 

並將其設置爲URL和重定向。

+0

好的,變量var1和var2將被放置在click函數中。 由於我的頁面也由php組成,我在哪裏放置函數getQueryStringParameterByName(name)? –

+0

任何地方在JavaScript頁面上,你可以從任何地方調用函數,因爲[hoisting](http://conceptf1.blogspot.com/2014/01/javascript-best-practices-variable-scoping-and-hoisting.html)它隨時可以打電話。 –

+0

它的工作。 要設置網址中的變量,我使用了: 'var hrf =「www.domain.com/x.php?var1=」+ var1 +「&var2 =」+ var2; 。\t \t \t \t \t \t \t的document.getElementById( 「a_link1」)HREF = HRF;' –