如何将文本输入值添加到HTML的URL末尾?

时间:2015-12-08 06:21:22

标签: javascript html html5 url

我是HTML新手;我需要将文本输入中的数字附加到网址的末尾。我怎么能这样做?

<input type=\"number\" id=\"b\" name=\"b\" value=\"1\">\
<script>
  var str,i;
  i= parseInt(b.value);
  str+="<a href=/t"+i+">Send</a>";
</script>

当我尝试使用上面的示例代码时,单击发送时,它始终会发送{1}的初始值“1”。即使我更改了b的值并尝试发送它,它也会发送相同的初始值。

有人可以帮我吗?

3 个答案:

答案 0 :(得分:0)

您可以使用ID

搜索元素
var el = document.getElementById("b")

使用.value

访问其值
var val =el.value

使用window.location

将其设置为网址
var url = window.location.href; // this will return current url
url += "?key=" + val;
window.location.href=url;

您没有获得更新值的原因也是因为您在页面加载时调用脚本。您必须在活动中更新它。查找blur事件,或者您可以使用按钮和点击事件,计算网址并路由到该事件。

答案 1 :(得分:0)

试试这个

<input type="number" id="b" name="b" value="1">
<a id="c" href="">Send</a>

<script>
  document.getElementById("c").addEventListener("click", function() {
    var i = document.getElementById("b").value;
    this.setAttribute("href", "/t" + i);
  });
</script>

答案 2 :(得分:0)

您的代码存在的问题是它会写出&#39;数字的初始值。页面加载时的框。你想要的快速版本是:

<input type="number" id="b" name="b" value="1" onchange="link1.href='t/'+parseInt(b.value);">
<a id="link1" href="">Send</a>

此代码适用于最新版本的Chrome,Firefox和Internet Explorer。您可能希望使用jQuery或document.getElementById来执行页面元素引用。