javascript - 根据链接的内容更改输入字段值

标签 javascript jquery

我有一个总是在变化的链接,我希望它根据链接指向的位置将一些文本打印到输入文本字段中。例如,我的链接可能如下所示。

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

相关文章:

javascript - 通过 <a> 标签点击验证表单

c# - 级联下拉列表不适用于 Jquery

jquery - <legend> 不会收到 :focus event?

javascript - chrome 扩展程序中的数据未从弹出窗口传递到背景

javascript - 重置表格( react 形式)

Javascript正则表达式正向看后面

jquery ui slider-尝试禁用单个句柄

javascript - AJAX 请求从 Google 获取结果

javascript - AngularJS 按两次按键,每次按键后执行不同的操作

jquery - prepend 和 prependTo 的区别。 jQuery