2011-11-16 65 views
0

在我在Drupal的一個網頁,我有一個包含以下HTML代碼面板:爲什麼URL包含HTML表單中的數據?

<head>  
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?libraries=geometry&sensor=false"></script> 

    <script type="text/javascript"> 
     var dirService, initAddr, endLoc, doc; 
     function initialize() { 
     dirService = new google.maps.DirectionsService(); 
     initAddr = "85 E San Fernando Street San Jose, CA 95113"; 
     } 

    function showLocation() { 
     doc = document.getElementById("results_area"); 

     endLoc = document.forms[0].address2.value; 
     findFromAddress(); 
    } 


     function findFromAddress() { 
     dirService.route({'destination': initAddr, 'origin': endLoc, 'travelMode': google.maps.TravelMode.DRIVING}, function (result, status) { 
      if (status === google.maps.DirectionsStatus.OK) { 
     var distance = result.routes[0].legs[0].distance.value; 
       var miles = Math.round(distance * 0.000621371192 * 100)/100; 
      alert("Distance from Loves Cupcakes is roughly" + miles 
       + " miles" + "Estimated price is (price)"); 
      } 
      else { 
      alert("INVALID ZIP CODE"); 
      } 
     }); 
    } 

    </script> 
</head> 

<body onload="initialize()"> 
<p> Enter in zip code of desired delivery location</p> 
<form action="#" onsubmit="showLocation(); return false;"> 
    <p><input class="address_input" name="address2" size="20" type="text" /> <input name="find" type="submit" value="Search" /></p> 
</form> 
<p id="results_area">&nbsp;</p> 

簡單地說,它需要一個郵政編碼,並從指定的位置計算距離。

HTML頁面可以自行工作,但是當我將其輸入到面板中時,會發生一些我不明白的奇怪東西。當我點擊「提交」按鈕時,頁面被重新加載,但是網址略有不同,並且沒有提示框彈出。 URL從../contact_us更改爲../Contact_Us?address2= & find =搜索#。我理解address2和search是HTML代碼中的元素,但任何人都可以幫助我弄清楚爲什麼會發生這種情況(我認爲它與drupal有關,而不是代碼本身,但不太確定)?

回答

0

當點擊提交按鈕時,瀏覽器發送一個HTTP GET請求到地址爲2的地址並查找值作爲參數。

在你的情況1,地址沒有價值,找到了的「搜索」

值在這裏看到一個全面的解釋:http://tools.ietf.org/html/rfc3986#section-3

相關問題