Est-il possible de faire en sorte que le script ci-dessous transmette les valeurs javascript à l'URL du lien href?
<script type="text/javascript">
function geoPreview(lat,long) {
var elemA = document.getElementById("lat").value;
var elemB = document.getElementById("long").value;
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=elemA&lon=elemB&setLatLon=Set";
}
</script>
Essaye ça:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat="+elemA+"&lon="+elemB+"&setLatLon=Set";
Pour mettre une variable dans une chaîne, placez-la entre guillemets et signes d'addition comme ceci:
var myname = "BOB";
var mystring = "Hi there "+myname+"!";
Rappelez-vous simplement cette règle!
Voulez-vous dire inclure des valeurs de variable javascript dans la chaîne de requête de l'URL?
Oui:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat="+var1+"&lon="+var2+"&setLatLon="+varEtc;
Avec une concaténation chaîne ou interpolation de chaîne (via template literals ).
Ici avec le template JavaScript littéral:
function geoPreview() {
var lat = document.getElementById("lat").value;
var long = document.getElementById("long").value;
window.location.href = `http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=${lat}&lon=${long}&setLatLon=Set`;
}
Les deux paramètres sont inutilisés et peuvent être supprimés.
Joindre des chaînes avec l'opérateur +
:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=" + elemA + "&lon=" + elemB + "&setLatLon=Set";
Pour un code plus concis, utilisez JavaScript template literals pour remplacer les expressions par leurs représentations sous forme de chaînes . Les littéraux de modèle sont entourés de ``
et des espaces réservés entourés de ${}
:
window.location.href = `http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=${elemA}&lon=${elemB}&setLatLon=Set`;
Les modèles sont disponibles depuis ECMAScript 2015 (ES6).