我有一个总是在变化的链接,我希望它根据链接指向的位置将一些文本打印到输入文本字段中。例如,我的链接可能如下所示。
<a onclick="main()" id="link" href="#foo">
或者有时相同的链接可能看起来像
<a id="link" href="#bar">
如果链接链接到#foo,那么我希望如下所示
<input id="input" type="text" value="Hello World" />
如果链接链接到#bar,那么我需要输入值为 Good Bye World。
怎样才能做到这一点。我尝试了以下方法,但我认为它不起作用,因为 URL 在用户单击它之前不会更改。所以它正在寻找尚不存在的东西。
function main() {
var url = window.location.href;
if (url.search("#foo") > 0) {
document.getElementById("link").value = "#foo";
document.getElementById("input").value = "Hello World";
}
}
更新 这是一个链接可能包含的一些井号标签的列表。以及单击链接时输入文本字段会显示的内容。
#work = Can't talk I'm at work
#home = I have kids I still can't talk
#bar = I'm busy getting drunk I can't talk
#bathroom = Listen you perv I'm not interested don't you get it.
但请记住,该网站最初位于 example.com,该链接可以包含其链接到的任何上述哈希标签。当用户单击该链接时,根据链接 href 作为哈希标记的内容确定将在输入字段中输入的内容。
最佳答案
这应该可以工作,但你不能用 jsfiddle 测试它。希望这有助于您理解。
JS:
document.getElementById('link').onclick = function () {
var url = window.location.href;
if (url.indexOf("#foo") > -1) {
document.getElementById("link").innerHTML = "#foo";
document.getElementById("input").value = "Hello World";
}
}
HTML:
<a id="link" href="#foo">link</a>
<input id="input">
关于javascript - 根据链接的内容更改输入字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18197859/