当前位置: 首页 > 知识库问答 >
问题:

将两个用户号输入存储在变量中,验证为数字,并写入两个数字的总和

田文景
2023-03-14

我有一个用html创建的表单,有两个输入字段和一个按钮。当点击按钮时,我希望调用一个函数,然后将两个数字相加,然后通过报警函数显示总和。

我知道当按钮被点击时如何调用函数,我知道如何读取并将两个输入存储在单独的变量中。

我想知道一些如何以最简单的方式验证输入为数字的技巧?

function Calculate() {
  var num1 = document.getElementById("num1").value;

  var num2 = document.getElementById("num2").value;
  num1_parsed = parseInt(num1);    

  num2_parsed = parseInt(num2);

  if (num1_parsed) {    

  } else {
    alert("Wrong input!!!");
    return false;    
  }

  var total = num1_parsed + num2_parsed;
  alert("The total sum of your numbers are: " + sum);
}

这段代码由于某种原因起作用,如果num1是正确的,但num2不是,它会给出消息NaN,而不是报警消息!

共有3个答案

吕宸
2023-03-14

使用isNaN()函数。它可能更易读,而不是&&这将意味着结果将是假的。

null

function Calculate() {

  var num1 = document.getElementById("num1").value;
  var num2 = document.getElementById("num2").value;
  
  num1_parsed = parseInt(num1);    
  num2_parsed = parseInt(num2);
  
  
 //console.log((!(isNaN(num1_parsed))).toString() + " " + num1_parsed);
 //console.log((!(isNaN(num2_parsed))).toString() +  " " + num2_parsed);

  if (!(isNaN(num1_parsed)) && !(isNaN(num2_parsed))){
  var total = num1_parsed + num2_parsed;
  alert("The total sum of your numbers are: " + total);
  
  } else {
alert("Wrong input!!!");
    return false;        
  }


}
<input id="num1" />
<input id="num2" />
<button onclick="Calculate()">Calculate</button>
呼延晋
2023-03-14

如果可以将输入元素用作type=“number”

num1_parsed = Number(num1);
num2_parsed = Number(num2);

if (isNaN(num1_parsed) || isNaN(num2_parsed) ) {
    alert("Wrong input!!!");
    return false;
} else {
    // do stuff
    return true;        
}
督瑞
2023-03-14

JavaScript方法

通过JavaScript进行验证,您可以使用isNaN()函数。如果输入不是数字,则返回true。

function Calculate() 
{
  var num1 = document.getElementById("num1").value;
  var num2 = document.getElementById("num2").value;

  num1_parsed = parseFloat(num1);    
  num2_parsed = parseFloat(num2);

  if(isNaN(num1_parsed) || isNaN(num2_parsed))
  {
      alert("Wrong input!!!");
      return false;
  } else {
      var total= num1_parsed + num2_parsed;
      alert("The total sum of your numbers are: " + total);
      return true;
  }
}

HTML5方法

此外,如果您希望使用HTML5只是为了确保输入值是number,那么您可以对input标记使用type=“number”属性。这增加了拒绝非数字数字的内置验证。

<input type="number" id="num1" />
<input type="number" id="num2" />
 类似资料:
  • 我用VBA和IE编写了一个脚本来填充两个输入字段来登录网页。 当我尝试执行我的脚本时,它会抛出错误,因为输入字段在其中。如何用凭据填充两个输入字段? 这是网站链接 这是我迄今为止的尝试: 您可以尝试输入任何详细信息。我所需要知道的是我怎样才能填满这两个盒子。 连接到内容的Html元素:

  • 问题内容: 我是这个C ++世界的新手,正在尝试为数字密码编写输入验证功能。这是我到目前为止所得到的: 对于不正确的值,它工作得很好,但在有效输入时不会中断循环。知道我在这里缺少什么吗?干杯!! James Kanze脚本的ErroR: 新代码: 使用 和 验证作为字符串 感谢所有人(尤其是James Kanze)的帮助。这件事在这里很有效。 那里还有进一步改进的空间吗?干杯!! 问题答案: 这看

  • 如何验证只有2位数字的输入数字,并允许用户使用JQuery输入点数字? 用户可以输入0到99个数字和点数字 比如( 0.1(3位) 3.14(4位数字) 98.1212178623445243(更多数字) 等......) https://jsfiddle.net/kwcft9bq/ 我试着用 但最后还是不行 有什么想法吗???非常感谢。

  • 我有: String1[]具有数字、数量、度量单位、查找数字参数 String2[]具有操作、级别、编号、组织ID、容器、版本、视图、数量、度量单位、参考指示符、跟踪代码、查找编号、行号、组件参考、数量选项、包含选项、类型 我用for循环比较了两个字符串,并用逗号将它们分开。我想在string2的哪个索引处找到string1。我想把这些索引存储在一个整数中。 请给任何想法。 提前谢谢

  • 我有一个数组的文本值如下所示 和多个表单输入 如何将数组中的第一个值添加到第一个输入中,将第二个值添加到第二个输入中,将数组中的第三个值添加到第三个输入中? 数组中的值数等于输入数。但两者的数量是可变的。 谢谢.

  • 我有两个数字字段来收集用户的数据。需要使用codeigniter表单验证类对其进行验证。 条件: 第一个字段可以为零 第二字段不能为零 第一字段不应等于第二字段 第二字段应大于第一字段 目前我使用 美元这个- 美元这个- 但是,如何验证上述第3和第4个条件? 提前谢谢。