在运行计算之前验证表单

时间:2016-04-14 17:31:51

标签: javascript forms validation input

我正在处理一个提交两个号码的短项目。一个必须至少100,一秒不能超过100.运行三个计算,然后打印回来。

我尝试了各种方法,但我无法通过javascript来停止提交无效数字中的功能。表单将返回0,但这是我迄今为止找到的最好的。

我想做的事情:

  1. 输入数字
  2. 验证数字 - 如果无效,请立即停止,打印错误 - 如果有效,请继续
  3. 继续计算
  4. 打印结果
  5. Codepen:http://codepen.io/uggh/pen/bpvmdz

    function checkNumbers() {
      if (isNaN(sqft.value) == true) {
        returnError.innerHTML = "Please insert number A";
      } else if (isNaN(desired.value) == true) {
        returnError.innerHTML = "Please insert number B";
      }
    }
    

3 个答案:

答案 0 :(得分:0)

一种方法是让checkNumbers返回一些可以在if语句中检查的内容,以决定是否继续处理。无论calculate内发生了什么,您当前的代码都会调用checkNumbers

此外,您检查数字字段的测试是错误的:如果一个不是有效数字,则其value为空字符串。

答案 1 :(得分:0)

Calculate功能

调用checkNumbers功能
function checkNumbers() {
  if (isNaN(sqft.value) == true) {
    returnError.innerHTML = "Please insert number A";
  } else if (isNaN(desired.value) == true) {
    returnError.innerHTML = "Please insert number B";
  }


 else{
    return calculate();
    }
}

答案 2 :(得分:0)

您可以将 onclick 更改为:

if(checkNumbers()){calculate();compare();food();}

并使你的函数 checkNumbers()如果一切正常则返回true,如果出现错误则返回false。