输入在JS中返回null

时间:2017-05-24 17:07:51

标签: javascript

这是问题所在。这是任何数字的简单用户输入,那么数字需要与指定的文本连接(在本例中为url)。但是它返回:http://someurl.com/?value=null - 其中= =符号之后的所有内容都是用户输入(数字)。谢谢,欢呼。

<head>
  <script type="text/javascript">
    var juarel = "http://someurl.com/?value=";
    var velju = document.getElementById('somenumber');
    var rezon = juarel.concat(velju);

    function print() {
      alert(rezon);
    }
  </script>
</head>
<body>
  <form>
    <input type="number" id="somenumber" value="">
    <button type="button" id="submit" name="button" onclick="print()">SUBMIT</button>
  </form>
</body>

3 个答案:

答案 0 :(得分:1)

从调用.value的HTML元素中获取正确的值。然后放入代码来检索函数内部的值,否则您正在读取开头的值,并且元素为空。按下按钮时必须读取值:

&#13;
&#13;
<body>
<form>

<input type="number" id="somenumber" value="">
<button type="button" id="submit" name="button" 
onclick="print()">SUBMIT</button>

</form>
<script type="text/javascript">



function print () {
  var juarel = "http://someurl.com/?value=";
  var velju = document.getElementById('somenumber').value;

  var rezon = juarel.concat(velju);
  alert(rezon);
}
</script>
</body>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以仅使用plus sign +来合并两个字符串。并且您需要使用输入的value属性。

GetHTTP

答案 2 :(得分:0)

第一次使用.value作为var velju = document.getElementById('somenumber').value

第二次将它们包装到函数中,所以当你单击时,你得到当前值,否则它总是未定义的,因为它是在init上调用的。

  function print() {
    var juarel = "http://someurl.com/?value=";
    var velju = document.getElementById('somenumber').value;
    var rezon = juarel.concat(velju);
    alert(rezon);
  }

&#13;
&#13;
<script type="text/javascript">
  function print() {
    var juarel = "http://someurl.com/?value=";
    var velju = document.getElementById('somenumber').value;
    var rezon = juarel.concat(velju);
    alert(rezon);
  }
</script>


<body>
  <form>

    <input type="number" id="somenumber" value="">
    <button type="button" id="submit" name="button" onclick="print()">SUBMIT</button>

  </form>
&#13;
&#13;
&#13;