2017-10-28 172 views
0

有人可以让我知道是否可以在“setAttribute”中传递一个变量来使输入值出现在href链接中?在Set属性值中传递一个变量

比如我有:

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:

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

然后,用户被引导到的链接是:https://checkyournumber.com.action?inputNumber=

我试图进入inputNumber内“”,但当然它显示在URL中。我尝试过'',相反...没有运气。

会有人知道它是否有可能吗?

非常感谢您的支持!

+1

最有可能的问题是,当这个代码'变种inputNumber =的document.getElementById( 'inputNumber')值;在执行所述''#inputNumber'元件是空的。 – Titus

+0

好的。因此,使用此分配href应该在技术上有效: document.getElementsByTagName(“a”)[0] .setAttribute(“href”,“https://checkyournumber.com.action?inputNumber =”+ inputNumber); ? –

+0

是的,它应该......提供一个[mcve]来重现你的问题 – charlietfl

回答

0

尝试如下

(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); 


});