16

有没有办法让下面的脚本将javascript值传递给href链接的url?

<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>
4

4 回答 4

42

试试这个:

 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+"!"; 

只要记住那一条规则!

于 2013-07-25T16:47:44.967 回答
4

您的意思是在 URL 的查询字符串中包含 javascript 变量值吗?

是的:

 window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat="+var1+"&lon="+var2+"&setLatLon="+varEtc;
于 2013-07-25T16:49:46.153 回答
1

概括

使用字符串连接字符串插值(通过模板文字)。

这里使用 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) 起,模板文字可用。

于 2018-08-24T14:59:12.657 回答
-1

试试这个:

window.location.href = "http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=\''+elemA+'\'&lon=\''+elemB+'\'&setLatLon=Set";
于 2018-05-16T10:23:04.330 回答