Есть ли способ передать переменные javascript в url?
Есть ли способ сделать ниже script передать значения javascript URL-адресу ссылки 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>
Ответы
Ответ 1
Попробуйте следующее:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat="+elemA+"&lon="+elemB+"&setLatLon=Set";
Чтобы поместить переменную в строку, заключите переменную в кавычки и знаки добавления следующим образом:
var myname = "BOB";
var mystring = "Hi there "+myname+"!";
Просто помните одно правило!
Ответ 2
Вы имеете в виду включать значения переменной javascript в строку запроса URL?
Да:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat="+var1+"&lon="+var2+"&setLatLon="+varEtc;
Ответ 3
Резюме
С помощью либо конкатенации строк, либо строковой интерполяции (через шаблонные литералы).
Здесь с литералом шаблона JavaScript:
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';
}
Оба параметра не используются и могут быть удалены.
замечания
Конкатенация строк
Присоедините строки с помощью оператора +
:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=" + elemA + "&lon=" + elemB + "&setLatLon=Set";
Интерполяция строк
Для более сжатого кода используйте литералы шаблонов JavaScript, чтобы заменить выражения на их строковые представления. Буквы шаблонов заключены в ''
и заполнители, окруженные ${}
:
window.location.href = 'http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=${elemA}&lon=${elemB}&setLatLon=Set';
Литералы шаблонов доступны с ECMAScript 2015 (ES6).
Ответ 4
Попробуй это:
window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=\''+elemA+'\'&lon=\''+elemB+'\'&setLatLon=Set";
Ответ 5
Это довольно сложно, но имеет смысл для неопытного программиста. В URL вы можете включить знак "#", и все остальное может идти после этого, просто переходя на эту страницу. Так что вы можете использовать JS:
var pass = prompt("what do you want to pass")
var site = "https://google.com"
var readysite = site + pass
document.location.replace(readysite)
Затем на другой странице используйте JavaScript для чтения URL и получения необходимой информации.
ПРИМЕЧАНИЕ: JS выше не проверен.