【发布时间】:2018-11-12 15:09:10
【问题描述】:
我一直在尝试获取这段代码的结果,但它似乎不起作用。我想在下面生成一个链接,但是当我预览脚本时,链接似乎没有出现。我真的不知道脚本的哪些部分是错误的,并且特别感谢任何人对此的帮助:
<DOCTYPE html>
<html>
<head>
<script>
function updateNavigationLink() {
var link = "https://maps.google.com/maps?saddr=" +
encodeURIComponent(document.getElementById("start").value) +
"&daddr=" + encodeURIComponent(document.getElementById("end").value);
document.getElementById("navigationLink").textContent = link;
}
</script>
<meta charset="utf-8">
<title>ISHGUIDE</title>
</head>
<link rel="stylesheet" type="text/css" href="style.css">
<div class=naviselection>
Start:
<input type='text' list='start' />
<datalist id="start" onchange="updateNavigationLink()">
<option value="The International School of The Hague, Wijndaelerduin 1, 2554 BX Den Haag">School</option>
<option value="Centrum, Den Haag">City Center</option>
</datalist>
End:
<input type="text" list="end" />
<datalist id="end" onchange="updateNavigationLink()">
<option value="The International School of The Hague, Wijndaelerduin 1, 2554 BX Den Haag">School</option>
<option value="Centrum, Den Haag">City Center</option>
</datalist>
</div>
<div class=Finallink>
<span id="navigationLink"></span>
</div>
</html>
【问题讨论】:
-
<datalist>不代表输入控件的状态,因此没有onchange=""事件或属性。请改用<input />元素的change或input事件。 -
换句话说,
document.getElementById("start").value将一无所获。您正在选择整个数据列表,而不是一个选项。也没有body标签,指向css的链接不在head和classnaviselection需要引号。
标签: javascript html input options datalist