2016-06-28 70 views
0

我試圖在一個頁面上創建一個URL參數,然後使用JavaScript在另一個頁面上讀取它。一切都很好,直到我意識到一旦使用了一個術語,相同的頁面將不會更新到編輯器所使用的當前代碼。例如,當我沒有向頁面添加任何UI時,我使用了術語「狗」。添加了一些用戶界面後,我使用了相同的術語,並且沒有更新。然後我嘗試了另一個隨機詞,並且它與UI一起出現。JavaScript中未更新的URL參數

這裏是第一頁上的代碼,其引導到搜索頁:

function submitSearch(){ 
    var trm = document.getElementById("searchFld").value.toLowerCase(); 
    window.location = '/search.html?term='+trm; 
} 

這裏是第二頁上的代碼(該功能載荷由體稱爲onload):

var getUrlParameter = function getUrlParameter(sParam) { 
    var sPageURL = decodeURIComponent(window.location.search.substring(1)), 
     sURLVariables = sPageURL.split('&'), 
     sParameterName, 
     i; 

    for (i = 0; i < sURLVariables.length; i++) { 
     sParameterName = sURLVariables[i].split('='); 

     if (sParameterName[0] === sParam) { 
      return sParameterName[1] === undefined ? true : sParameterName[1]; 
     } 
    } 
}; 

function load(){ 
var trm = getUrlParameter('term'); 

document.title = 'Search for "' + trm + '"'; 
} 

希望我已經解釋清楚了......謝謝!

+0

我放棄了我的答案。它是否與'$(document).ready(...)'一起工作? – Kairat

+0

請在你的回答下看到我的評論。 :) – Collin

回答

0

嘗試使用以下:

function getParameterByName(name, url) { 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

function load(){ 
var trm = getParameterByName('term'); 
document.title = 'Search for "' + trm + '"'; 
} 

window.onload = function() { 
    load(); 
}; 

用於獲取參數的代碼Source

+0

它爲它工作過一次,然後再沒有這樣做。我想知道它只更新每30分鐘或什麼?我需要立即執行,但是......:/ – Collin

+0

@ C.O'Rear,我更新了我的答案,看看它是否有效。 – Kairat

+0

同樣的問題仍然存在 – Collin