JavaScript változó átadás

JavaScript változó átadás
2013-02-23T19:03:57+01:00
2013-02-23T19:53:47+01:00
2022-10-15T22:35:48+02:00
Sandor81
Sziasztok!

Van egy PhP, JavaScript változó átadási gondom, és láttam pár bejegyzést itt a prog.hu - n de nem jutok előrébb vele.

Ahogy olvastam, úgy értelmeztem, hogy az oldalak meghívási mechanizmisa kb. így néz ki:
1. PhP
2. Html
3. JavaScript
Ezért nem lehet közvetlenül oldal első futásánál php változót címezni JS változóval (valamint mert php szerver oldali nyelv). Viszont, ha már betöltött az oldal, akkor a HTML rész gond nélkül megkaphatja a JS változót?

Van egy oldalamon egy GoogleMap, amire kattintva egy táblázatba kiírja az aktuális GPS koordinátákat.
Arra lenne szükségem, hogy ezeket a koordinátákat egy változóba el tudjam tárolni, hogy dolgozni tudjak velük.
Nekem az is jó lenne, hogy ha egy hidden input kapná az értéküket és egy tovább gombbal egy másik php oldalra át tudnám küldeni őket.
Ez elméletileg lehetséges szerintem, csak azt nem tudom, hogy miként írjam bele az inputba az értéket. Próbálkoztam sima változó névvel,
<input type='hidden' name='elso' value="<script type='text/javascript'>szelessegifok</script>" />

de nem igazán akarta a dolgot, aztán próbáltam write-al kiíratni is, de úgy se ment.
A HTML tábla mindig ID alapján kapja az értéket, azt is megpróbáltam, igaz azt text típussal, hogy lássam, ha van valami benne.
<input type='text' id='lat' name='szel' >

Így sem akarta. Viszont a táblázat mindig megkapja a maga értékeit.

Leírom a kódot, hogy mit lehet vele tenni.

Előre is köszönöm!

<?php ob_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php include "../../fejlec.php"; include "../../bongeszo.php"; ?> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript" >var geocoder, map, marker, mutat; function initMap() { geocoder = new google.maps.Geocoder(); var pcwLatLng = new google.maps.LatLng( 47.162494 , 19.503304); var myOptions = { zoom: 7, center: pcwLatLng, mapTypeId: google.maps.MapTypeId.ROADMAP, streetViewControl: true, overviewMapControl: true } map = new google.maps.Map(document.getElementById("map"), myOptions); google.maps.event.addListener(map, "click", function(event) { setMarker(event.latLng); }); setMarker(pcwLatLng) showCoord(pcwLatLng) } function setMarker(location) { if (marker != null) marker.setMap(null); marker = new google.maps.Marker({ position: location, draggable: true, map: map }); google.maps.event.addListener(marker, "mouseup", function(event) { showCoord(event.latLng); }); showCoord(location) } function showCoord(latLng) { var lat = Math.round(latLng.lat() * 1e10) / 1e10; var lng = Math.round(latLng.lng() * 1e10) / 1e10; document.getElementById("lat").innerHTML = lat.toString(); document.getElementById("lng").innerHTML = lng.toString(); var latDeg = Math.floor(lat); lat = (lat - latDeg) * 60; var latMin = Math.floor(lat); lat = (lat - latMin) * 600; var latSec = Math.floor(lat) / 10; var cLat = (latDeg < 0) ? "S" : "N"; latDeg = Math.abs(latDeg); var lngDeg = Math.floor(lng); lng = (lng - lngDeg) * 60; var lngMin = Math.floor(lng); lng = (lng - lngMin) * 600; var lngSec = Math.floor(lng) / 10; var cLng = (lngDeg < 0) ? "W" : "E"; lngDeg = Math.abs(lngDeg); document.getElementById("lat2").innerHTML = latDeg.toString() + "&deg; " + latMin.toString() + "' " + latSec.toString() + '" ' + cLat; document.getElementById("lng2").innerHTML = lngDeg.toString() + "&deg; " + lngMin.toString() + "' " + lngSec.toString() + '" ' + cLng; document.getElementById("lat5").innerHTML = latDeg.toString() + "&deg; " + latMin.toString() + "' " + latSec.toString() + '" ' + cLat; } function codeAddress() { var address = document.getElementById("address").value; geocoder.geocode( {"address": address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { setMarker(results[0].geometry.location); centerMap(); } else { alert("Sikertelen geokódolás! (" + status + ")"); } }); } function centerMap() { if (marker) map.setCenter(marker.position); } window.onload = initMap; </script> <style type="text/css"> .ms-grid3-main { border-left: 1.5pt solid black; border-right: 1.5pt solid black; border-top: .75pt solid black; border-bottom: .75pt solid black; background-color: white; padding:10; } .ms-grid3-tl { font-weight: normal; color: black; border-left-style: none; border-right: .75pt solid black; border-top-style: none; border-bottom: .75pt solid black; background-color: #FFFFCA; } .ms-grid3-left { color: black; border-left-style: none; border-right: .75pt solid black; border-top-style: none; border-bottom-style: none; } .ms-grid3-top { font-weight: normal; color: black; border-left-style: none; border-right: .75pt solid black; border-top-style: none; border-bottom: .75pt solid black; background-color: #FFFFCA; } .ms-grid3-even { font-weight: normal; color: black; border-left-style: none; border-right: .75pt solid black; border-top-style: none; border-bottom-style: none; background-color: #FFDD99; } #middle{ background-image: url('Budapest/images/gps-koordinatak.jpg'); } div#map { width: 755px; height: 500px; } #info { top: 5px; left: 5px; } input#address { width: 370px; margin-left: 2px; } input#latlng { width: 120px; margin-left: 2px; } input[type=button] { margin: 0 10px 0 10px; padding: 0 10px; } .auto-style1 { border: 2px solid #800000; } </style> </head> <body> <!--container is the entire site and margins--> <div id="container"> <!--here starts the main part: menu, content...--> <div id="main"> <div id="changing"> <table class="ms-grid3-main" style="width: 90%; height: 68px; background-color: #FCF6CF;" border="1"> <!-- fpstyle: 18,011111100 --> <tr> &n
Mutasd a teljes hozzászólást!
Próbálj innen kiindulni és ha már van egy úgy-ahogy működő kódod, akkor kérdés itt...
Mutasd a teljes hozzászólást!

  • "
    ha már betöltött az oldal, akkor a HTML rész gond nélkül megkaphatja a JS változót?
    "
    IGEN, csak legyen értéke...
    Ha később kap egy másikat, akkor egy ajax hívással lehet a szerveren felhasználni a módosult értéket...
    Ha viszont a PHP-ból akarsz a JS-változónak egy értéket adni, akkor
    echo '<script type="text/javascript">var valtozo = 47.1234;</script>';
    vagy
    <script type="text/javascript">
    var valtozo = "<?php echo $szelessegifok; ?>";
    /* esetleg tipus korrigálás, mivel így string az érték */
    </script>
    ...
    Mutasd a teljes hozzászólást!
  • Szia!

    Rég hallottam rólad! Utólag is gratulálok az unokádhoz!
    Remélem minden rendben van velük!

    Visszafelé, vagyis php-ből JS-be megy a változó átadás.
    Hogy hívom meg AJAX-al ezt a változót? Nem nagyon használtam még AJAX-ot.
    Mutasd a teljes hozzászólást!
  • Próbálj innen kiindulni és ha már van egy úgy-ahogy működő kódod, akkor kérdés itt...
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd