【问题标题】:Passing a variable inside a Set attribute value在 Set 属性值中传递变量
【发布时间】:2017-10-28 15:25:00
【问题描述】:

谁能告诉我是否可以在“setAttribute”中传递一个变量以使输入值出现在 href 链接中?

例如我有:

var inputNumber = document.getElementById('inputNumber').value;
var validateBtn = document.getElementsByTagName("a"); //a surrounding n button
var linkValidation = validateBtn[0].href = ("https://checkyournumber.com.action?inputNumber=" + inputNumber );

到目前为止一切顺利,如果我使用console.log linkValidation,我确实有完整的链接,并按预期在末尾输入数字。 但是,当我尝试使用以下方法将 href 属性设置为 html 中的 a 标记时:

document.getElementsByTagName("a")[0].setAttribute("href", "https://checkyournumber.com.action?inputNumber=" + inputNumber );

那么用户被带到的链接是:https://checkyournumber.com.action?inputNumber=

我尝试在“”中输入 inputNumber,但它当然会在 URL 中显示。我试过用 '' 代替......没有运气。

有人知道这是否可能吗?

非常感谢您提前的支持!

【问题讨论】:

  • 最可能的问题是当代码var inputNumber = document.getElementById('inputNumber').value;被执行时#inputNumber元素是空的。
  • 好的。因此,使用它分配 href 在技术上应该有效: document.getElementsByTagName("a")[0].setAttribute("href", "checkyournumber.com.action?inputNumber=" + inputNumber ); ?
  • 是的,它应该...提供一个重现您的问题的minimal reproducible example
  • 像魅力一样工作jsfiddle

标签: javascript hyperlink url-rewriting submit setattribute


【解决方案1】:

如下尝试

(function() {


    var inputNumber = document.getElementById('inputNumber').value;
    var validateBtn = document.getElementsByTagName("a"); //a surrounding n button
    var linkValidation = validateBtn[0].href = ("https://checkyournumber.com.action?inputNumber=" + inputNumber );


});

【讨论】:

    猜你喜欢
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多