Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Przekazanie zmiennej do pola w formularzu

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

Przekazanie zmiennej do pola w formularzu

Post 03.05.2012, 16:41:09

Chciałbym aby wynik skryptu tzn. odległość pojawiała się w polu formularza. Jest jakiś na to sposób?

Kod: Zaznacz cały
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Google Maps JavaScript API Example: Extraction of Geocoding Data</title>
    <script src="http://maps.google.com/maps?file=api&v=2&key=AIzaSyDtR4SBY1CQIRQtvgAL-n3y0MHI9WHCicM" type="text/javascript"></script>
<!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: http://code.google.com/apis/maps/terms.html -->
    <script type="text/javascript">
 
    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("Przykro nam, ale wpisałeś niepoprawny adres. Spróbuj ponownie!");
         }
         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, we were unable to geocode the 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 = + kmdistance ;
      }
      catch (error)
      {
         alert(error);
      }
   }

    </script>
  </head>
 
  <body onload="initialize()">
 
    <form action="#" onsubmit="showLocation(); return false;">
      <p>
        <input type="text" name="address1" value="Tu wpisz swój adres" class="address_input" size="40" />
        <input type="hidden" name="address2" value="Poznań, Aleja Niepodległości 10" class="address_input" size="40" disabled="disabled" />
        <input type="image" name="find" value="Szukaj" src="suk.jpg"/>
      </p>
    </form>
     Odleglosc:<br />
   <input name="odległośc" value=id="results"></p>><br />
    <p id="results"></p>
   
       
   

falenty
Posty: 2
Dołączył(a): 03.05.2012

Re: Przekazanie zmiennej do pola w formularzu

Post 03.05.2012, 20:14:42

kod z linii

Kod: Zaznacz cały
document.getElementById('results').innerHTML = + kmdistance ;

wrzuca odległość to elementu o ID="results". Po prostu zamiast "results" wpisz identyfikator pola, gdzie chcesz wrzucić wynik i zamiast innerHTML użyj value.
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19785
Dołączył(a): 14.04.2002

Re: Przekazanie zmiennej do pola w formularzu

Post 03.05.2012, 20:45:21

nie jestem biegły w programowaniu bo dopiero rozpoczynam swoją przygodę. Chciałbym żeby wynik pojawił się w polu formularza odległość (tu jest strona: http://celero.pl/Atol/index21.html)

jak wpisać identyfikator tego pola?
falenty
Posty: 2
Dołączył(a): 03.05.2012

Re: Przekazanie zmiennej do pola w formularzu

Post 03.05.2012, 20:52:14

Masz w dokumencie element <p id="results"></p>. Usuń ten element i do elementu <input name="odległośc"> dodaj atrybut id="results"

Kod: Zaznacz cały
<input name="odległośc" id="results">


Następnie w kodzie skryptu znajdź linię

Kod: Zaznacz cały
document.getElementById('results').innerHTML = + kmdistance ;


i zamień słowo innerHTML na value.

PS. zauważ, że masz błąd składniowy w
Kod: Zaznacz cały
<input name="odległośc"  <script type="text/javascript" src="date.js"></script>

prawdopodobnie brakuje znaku > zamykającego <input>
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19785
Dołączył(a): 14.04.2002


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 51753 zarejestrowanych użytkowników.
Najnowszy użytkownik: Eduaryes


Nasi użytkownicy napisali:

  • 938015 wiadomości
  • w 247600 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)