【问题标题】:Two arguments from one input. JavaScript来自一个输入的两个参数。 JavaScript
【发布时间】:2020-08-21 20:03:34
【问题描述】:

我正在做 JS 练习。任务是:
编写一个 JavaScript 程序来检查两个给定的整数值是否在 50..99(含)范围内。如果其中任何一个在上述范围内,则返回 true。
任务很简单,我从两个输入中取了两个数字。
是否有可能仅从一个输入中获取两个数字?
并像这样启动函数:

function task28(fnum, snum){}

以下是具有两个输入的我的解决方案。

<input type="text" id="task28a" class="form-control" placeholder="write number" aria-label=""
                        aria-describedby="basic-addon2">
<input type="text" id="task28b" class="form-control" placeholder="write number" aria-label=""
                        aria-describedby="basic-addon2">
  </br>
<button type="button" class="btn btn-dark btn-sm" onclick="task28()">Check</button>
<p class="answer" id="task28ans"></p>
<script>
function task28() {
    let fnum = document.getElementById("task28a").value;
    let snum = document.getElementById("task28b").value;
    if (
        (fnum >= 50 && fnum <= 99) && (snum >= 50 && snum <= 99)
    ) {
        document.getElementById("task28ans").innerHTML = "true";
    } else {
        document.getElementById("task28ans").innerHTML = "false";
    }
}
</script>

【问题讨论】:

  • 如果我们为两个数字放置单个输入,则需要一个分隔符来识别(分隔)两个 i/p's 。喜欢后空间用户将输入第二个数字。那么您可以使用相同的输入来执行此操作。同样可以在占位符中作为消息提及以向用户表明这一点。
  • 如果和上面一样,要求改变了,然后在task28()中你可以读取单个输入的值并使用空格分割值,然后你会得到两个数字。,..
  • 谢谢。我尝试了类似的东西,但我失败了。我会再试一次。
  • 您可能在拆分后忘记执行 parseInt .....拆分将返回两个字符串数字.....大于或小于对那些需要转换为 int 的人不起作用使用 parseInt ......我在下面添加了解决方案.. 请检查
  • 谢谢 :) 这次成功了!

标签: javascript button input onclick


【解决方案1】:

我建议您使用表单并在提交时运行函数。 这也可以简化检索您的值

function DoSubmit(){
  var a = document.myform.myinput.value;
  var b = document.myform.message.value;
  console.log(a,b) 
}
<form name="myform" onsubmit="DoSubmit();">
<input type="text" name="myinput" value="" />
<input type="text" name="message" value="" />
<input type="submit" name="submit" />
</form>

【讨论】:

    【解决方案2】:

    检查下面的代码......

    function task28() {
        let tempVar = document.getElementById("task28a").value;
        let splitArray = tempVar.split(" ");
        if(splitArray.length == 2)
        {
          let fnum = parseInt(splitArray[0]);
          let snum = parseInt(splitArray[1]);
          if ((fnum >= 50 && fnum <= 99) && (snum >= 50 && snum <= 99)) {
                document.getElementById("task28ans").innerHTML = "true";
            } else {
                document.getElementById("task28ans").innerHTML = "false";
            }
        }
        
    }
    <input type="text" id="task28a" class="form-control" placeholder="Enter number" aria-label="" aria-describedby="basic-addon2">
    
      </br>
    <button type="button" class="btn btn-dark btn-sm" onclick="task28()">Check</button>
    <p class="answer" id="task28ans"></p>

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 2012-09-10
      • 2017-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 2020-10-04
      相关资源
      最近更新 更多