2014-05-19 65 views
0

我有一個按鈕,指示某人到一個新的頁面。按鈕上有一個Id。有沒有辦法讓我將該ID傳遞給下一頁?最好不要在URL中。我可以通過JS或jQuery來做到這一點,而無需使用AJAX?在鏈接點擊時將屬性傳遞給新頁面。 JS/jQuery

而且我還希望點擊功能也可以打開一個新標籤。

  jQuery('<button class="btn"/>') 
       .attr({'id': 'PASS_THIS'}) 
       .text('Button') 
       .click(function() { 
        top.location.href = 'myNewPage.html'; 
       }) 
       .appendTo(btnspan) 

任何建議將不勝感激!

回答

1

按鈕上有一個Id。有沒有辦法讓我將該ID傳遞給下一頁?最好不要在URL中。

如果你不想做的網址,你可以使用sessionStorage,其中有good browser support和易於使用,或餅乾,如果你需要更廣泛的支持。單擊保存id,然後在新頁面中檢索它。

例與sessionStorage - 節省點擊:

jQuery('<button class="btn"/>') 
    .attr({ 
     'id': 'PASS_THIS' 
    }) 
    .text('Button') 
    .click(function() { 
     sessionStorage.someUsefulNameHere = this.id; // <== Here 
     top.location.href = 'myNewPage.html'; 
    }) 
    .appendTo(btnspan); 

檢索它的目標頁面上:

var someUsefulNameHere = sessionStorage.someUsefulNameHere; 

,然後任選除去它,以便刷新並不這麼看:

sessionStorage.removeItem("someUsefulNameHere"); 
+1

非常有幫助T.J.乾杯! – Daft

0

可能會有用。

jQuery('<button class="btn"/>') 
       .attr({'id': 'PASS_THIS'}) 
       .text('Button') 
       .click(function() { 
        top.location.href = 'myNewPage.html?id='+jQuery(this).attr('id'); 
       }) 
       .appendTo(btnspan) 
+2

*「最好不要在URL中。」* –

+0

另外:這總是會傳遞''''作爲'id'。它不會傳遞被點擊的按鈕的「id」。代碼'...?id ='+ jQuery('

+0

重新編輯修正:'this.id'究竟有什麼問題?或者,如果你要在選擇器中重複'id'的值,只需將它直接放在URL中,而不是通過執行'$(「#foo」)。attr(「id」 )'?這只是一個很長的路... –