2013-01-14 21 views
0

我在主頁上有一個表單,並試圖將輸入字段值傳遞給另一個僅與客戶端一起使用的頁面。問題是,我希望在運行該函數之前將傳遞的值重新顯示回另一個表單域,但似乎無法使用REGEX替換「+」字符(還要保持間距)。任何想法如何我可以完成這個沒有太多的控制?在第二頁窗體字段中替換URL傳遞變量的「+」字符

第一頁表格:

  <form id="dlrhpform" type="GET" action="/dealer-locator"> 
       <div id="hp-form-input"> 
           <div style="padding-left:20px;">  
            <p>Enter address or zip code:</p> 
          <input style="float:left;" type="text" id="hpaddress" name="hpaddress"/> 
         </div> 
      </div> 
       <a href="javascript:;" onmouseover="MM_swapImage('hpsubmitbtn','','/btn_go_on.png',1)" onmouseout="MM_swapImgRestore()" /> 
       <input onClick="_gaq.push(['_setAccount', 'UA-XXXXXXX-1'],['_trackEvent','Dealer Locator','Input Parameter', document.getElementById('hpaddress').value]);" style="position:relative; z-index:9999;" type="image" id="hpsubmitbtn" src="/btn_go.png" border="0" width="20" height="21" alt="hpsubmitbtn"/> 

      </form> 

第2頁表格:

 <form name="user-location" id="user-location" method="post" action="#"> 
     <div id="form-input" name="form-input"> 
      <label for="address">Enter Address or Zip Code:</label> 
      <input type="text" id="address" name="address" style="width:200px;"/> 
     </div> 
     <div id="submit-btn"><input name="fetch" type="image" src="/searchbutton.png" onclick="address.value=address.value.replace(/,/g,''); _gaq.push(['_setAccount', 'UA-XXXXXXX-1'],['_trackEvent','Dealer Locator','Input Parameter', document.getElementById('address').value]);"/></div> 
    </form> 

第2頁腳本:

//Return Home Page Address From URL 
var urladdress; 

if(document.URL.indexOf("hpaddress") >= 0) 
{ 
    function getParams() 
    { 
     var idx = document.URL.indexOf('?'); 
     parent.params = new Array(); 
     if (idx != -1) 
     { 
      var pairs = document.URL.substring(idx+1, document.URL.length).split('&'); 
      for (var i=0; i<pairs.length; i++) 
      { 
       nameVal = pairs[i].split('='); 
       parent.params[nameVal[0]] = nameVal[1]; 
      } 
     } 
     return params; 
    } 
    params = getParams(); 
    urladdress = unescape(params["hpaddress"]); 
} 

window.onload = function() 
{ 
    if(typeof urladdress !== 'undefined') 
    { 
     document.getElementById("address").value = urladdress; 
    } 
}; 
+0

您是否試過使用JavaScripts .replace?類似於StringWtihPluses.replace(「+」,「」),假設所有加號都是空格。 –

+0

@AaronMiler是的,我嘗試這個,但似乎無法讓它取代全球。 (+)似乎沒有被REGEX識別。 – McKev

回答

0

做一個小小的[R esearch,我發現替換一個加號的難點在於,正則表達式中的加號用於表示還有更多的正則表達式。加號用作javascript中的運算符。但是,可以將其轉義並替換爲以下內容。

var myString = "this+that+this+that++andthis++"; 
myString = myString.replace(/\+/g, " "); 
alert(myString); 
+0

抱歉,對此的延遲響應 - 像魅力一樣工作。 – McKev