2011-07-27 103 views
0

快速問題在這裏。JQuery - 將值從輸入框傳遞到另一頁中的輸入框

通常情況下,使用JQuery,如果我想從一個輸入框,傳遞價值,在同一頁上一個又一個,I`d只是做這樣的事情:

<script type="text/javascript"> 

    $('#postalCodeBtn').live('click', function(){ 
    var text = $('#from1').val(); 
    $('#from').val(text); 
    }); 

</script> 

但現在假設輸入「 from1「在名爲detail的頁面上,而」from「在另一個名爲maps的頁面上。

如何在兩頁之間傳遞值?

謝謝!

+0

通過提交表單,然後使用服務器端語言檢索數據並在生成時填充表單,也許? – Shef

+0

'地圖'是否從'detail'內的鏈接打開(或者_vice versa_)?或者他們只是兩個完全分離的頁面? – Town

+0

我的按鈕看起來像這樣。 JFFF

回答

1

如果它沒有通過AJAX加載,你將不得不將它發送到服務器,並使用服務器端語言(php,python等)將其添加到地圖中。我想你也可以將它保存到cookie中,如果你真的想要,然後在「地圖」頁面上檢查它。你也可以通過GET發送它(修改鏈接,如果有的話),然後使用JS解析它,但是如果它是一個表單域,那麼它就是服務器端語言。

編輯:好吧,不知道更多,這是我能爲你做的最好的。

<script type="text/javascript"> 

function buildValue(sValue) { 
    if (/^\s*$/.test(sValue)) { return(null); } 
    if (/^(true|false)$/i.test(sValue)) { return(sValue.toLowerCase() === "true"); } 
    if (isFinite(sValue)) { return(parseFloat(sValue)); } 
    if (isFinite(Date.parse(sValue))) { return(new Date(sValue)); } 
    return(sValue); 
} 

function getVars() { 
    var oGetVars = {} 
    if (window.location.search.length > 1) { 
     var iCouple, aCouples = window.location.search.substr(1).split("&"); 
     for (var iCouplId = 0; iCouplId < aCouples.length; iCouplId++) { 
      iCouple = aCouples[iCouplId].split("="); 
      oGetVars[unescape(iCouple[0])] = iCouple.length > 1 ? buildValue(unescape(iCouple[1])) : null; 
     } 
    } 
    return oGetVars; 
} 

$(function() { 
    // The name of the parameter we're interested in 
    var param = "postalCode"; 

    // Gets the params from the URL 
    getParams = getVars(); 
    // If the parameter we want is in the URL AND the #from element is found... 
    if (getParams[param] && $("#from").length) { 
     // Set the value of the #from element to the value of the parameter 
     $("#from").val(getParams[param]) 
    } 

    // Store the postalBtn in a variable for easy access 
    var postalBtn = $("postalCodeBtn"); 

    // If the postalBtn is on this page 
    if (postalBtn.length) { 
     // Create a flag to track modification of anchor 
     var modifiedAnchor = false 

     // Adds the GET parameter to the parent anchor on button click 
     postalBtn.click(function() { 
      // In case the user gets click happy 
      if (modifiedAnchor) return; 

      // Get the parent anchor DOM element 
      var anchor = $(this).parent('a')[0] 

      // Append the GET parameter to the anchor's href 
      // (this assumes the anchor HREF doesn't have GET parameters already) 
      anchor.href += "?" + param + "=" + encodeURIComponent($("#form1").val()) 

      // Set our modifiedAnchor flag to true 
      modifiedAnchor = true 
     } 
    } 
}) 
</script> 
+0

我相信它正在通過ajax加載。我對Web開發相對陌生,現在我在上學。我認爲正確的做法是稱爲GET方法,但我不知道如何實現這一點。 – JFFF

+0

哇。棒極了。非常感謝我的幫助,我會檢查這一點,看看它是如何工作的。再次感謝 ! – JFFF

0

您不能單獨使用JavaScript來在頁面之間傳遞值。

您將需要使用另一種方法,如帶Post/Get,Cookie或服務器端代碼的參數。

相關問題