javascript - Store value in URL with keeping the original values in browser -


so i'm creating asp.net page using javascript calculate distance between 2 zipcodes. after submitting form, page shows both addresses , distance. however, want use these values in asp.net stored distance in url can call .net label when so, , since has go server, refreshes page , deletes javascript calculated values! want store distance in url in addition keep calculated values on page. here have

var geocoder, location1, location2;   function initialize() {     geocoder = new gclientgeocoder(); }  function showlocation() {     geocoder.getlocations(document.forms[0].address1.value, function (response) {         if (!response || response.status.code != 200)         {             alert("sorry, unable geocode first address");         }         else         {             location1 = {lat: response.placemark[0].point.coordinates[1], lon: response.placemark[0].point.coordinates[0], address: response.placemark[0].address};             geocoder.getlocations(document.forms[0].address2.value, function (response) {                 if (!response || response.status.code != 200)                 {                     alert("sorry, unable geocode second address");                 }                 else                 {                     location2 = {lat: response.placemark[0].point.coordinates[1], lon: response.placemark[0].point.coordinates[0], address: response.placemark[0].address};                     calculatedistance();                 }             });         }     }); }  function calculatedistance()  {     try     {         var glatlng1 = new glatlng(location1.lat, location1.lon);         var glatlng2 = new glatlng(location2.lat, location2.lon);         var miledistance = glatlng1.distancefrom(glatlng2, 3959).tofixed(1);         var kmdistance = (miledistance * 1.609344).tofixed(1);           document.getelementbyid('results').innerhtml =          '<strong>address 1: </strong>' + location1.address +          '<br /><strong>address 2: </strong>' + location2.address +          '<br /><strong>distance: </strong>' + miledistance + ' miles (or ' + kmdistance + ' kilometers)';         //+ '<br /><strong>hiddenfield </strong>' + miledistance;                  var loc = self.location.href;         window.location.href = loc+"?d="+miledistance;      }      catch (error)     {         alert(error);     }  }   </script> 

<form action="#" onsubmit="showlocation();return false;">   <p>     <input type="text" name="address1" value="45419" class="address_input" size="40" />     <input type="text" name="address2" value="47714" class="address_input" size="40" />     <input type="submit" name="find" value="search" />   </p> </form> <p id="results"></p>  <form id="form1" runat="server"> <div>      <asp:label id="label3" runat="server"></asp:label>     <br />     <asp:label id="label2" name="address1" value="address 1" class="address_input" size="40" runat="server"></asp:label>  <br />     <asp:label id="label1" runat="server"></asp:label>     <br />     <br />     <asp:button id="button1" runat="server" postbackurl="~/size.aspx?a='miledistance'" text="next" />  </div> </form> 

you should pass values server using form fields, not parameters in url.

try adding hidden field form called distance:

<input type="hidden" name="distance" value=""/> 

then populate hidden field in calculatedistance() function:

document.getelementbyid('distance').value = miledistance; 

then can grab value server side:

string distance = request["distance"]; 

or

int distance = convert.toint32(request["distance"]); 

use literal form controls if want display value on screen after post back.

good luck!


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -