【发布时间】: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