Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证表单编号类型Javascript_Javascript_Html_Validation - Fatal编程技术网

验证表单编号类型Javascript

验证表单编号类型Javascript,javascript,html,validation,Javascript,Html,Validation,嗨,我有这个问题。在我的html代码中,我似乎无法验证输入类型“number”。Iv'e使用此代码尝试验证它,但它不起作用 function validateForm() { var x=document.forms["form_name"]["number_name"].value; if (x==null || x=="") { alert("The following must be filled out"); return false; } } 我从一个验证输入类型“t

嗨,我有这个问题。在我的html代码中,我似乎无法验证输入类型“number”。Iv'e使用此代码尝试验证它,但它不起作用

function validateForm()
{
var x=document.forms["form_name"]["number_name"].value;
if (x==null || x=="")
  {
  alert("The following must be filled out");
  return false;
  }
}
我从一个验证输入类型“text”而不是数字的网站获取了这段代码。我试图对我的完整html代码实现一个有效的“数字”验证。顺便说一句,这是我的表格样本:

<form action = "test.php" method = "post" onsubmit = "return validateForm()" name ="form_name">
<input type = "number" min = "0" placeholder = "0" name = "number_name" size = "2"/>

我想知道是否可以使用上面的javascript值来验证数字表单,或者是否有更简单的方法来验证

*深入* 我为我的第一个问题快速编写了一个html代码,并生成了多种形式的“number”。它是不完整的。。。我决定在为整个表单实现代码之前测试一个“数字” 这是我目前的代码:

<html>
    <head>
    <script language="javascript">
    function validateForm()
    {
    var x=document.forms["order"]["cappuccino_qty"].value;
    if (x >= 0 || x < 0);
    {
    alert("The following must be filled out");
    return false;
    }
    }
    </script>   
    <body>              
    <form action = "test.php" method = "post" onsubmit = "return validateForm()" name ="order">
                <label class = "field" for = "Cappucino">Cappuccino
                <input type = "number" min = "0" placeholder = "$3.75" name = "cappuccino_qty" size = "2"/><br>
                <label class = "field" for = "Espresso">Espresso
                <input type = "number" min = "0" placeholder = "$3.00" name = "espresso_qty" size = "2"/><br>
                <label class = "field" for = "Double Espresso">Double Espresso
                <input type = "number" min = "0" placeholder = "$4.25" name = "double_espresso_qty" size = "2"/><br>
                <label class = "field" for = "Flat White">Flat White
                <input type = "number" min = "0" placeholder = "$3.75" name = "flat_white_qty" size = "2"/><br>
                <label class = "field" for = "Latte">Latte  
                <input type = "number" min = "0" placeholder = "$3.50" name = "latte_qty" size = "2"/><br>
                <label class = "field" for = "Ice Coffee">Ice Coffee
                <input type = "number" min = "0" placeholder = "$2.50" name = "ice_qty" size = "2"/><br>
                <input type = "submit" value = "submit" name = "submit"/>
                <p>
       </form>
       </body>  
       </head>
       </Html>

函数validateForm()
{
var x=文件格式[“订单”][“卡布奇诺数量”]值;
如果(x>=0 | | x<0);
{
警报(“必须填写以下内容”);
返回false;
}
}
意大利泡沫咖啡

意大利浓咖啡
双份浓缩咖啡
白咖啡
拿铁
冰咖啡
更改

if (x==null || x=="")

检查是否有任何非数字或句点字符(假设您希望允许小数)

[编辑]

查看更新的小提琴:一种简单的方法

function validateForm()
{
var x=document.forms["form_name"]["number_name"].value;
if (!(x >= 0) || !(x < 0))
  {
  alert("The following must be filled out");
  return false;
  }
}

仅当变量为null或空时才测试该变量,但当在其上输入字符时,它会跳出if语句。尝试使用这个函数。如果需要,请参阅此处的参考:。希望有帮助

function isNumber(x) {
    return !isNaN(parseFloat(x)) && isFinite(x);
}

if(!/^\d+$/.test(x)){…}
您从未调用函数进行检查,这就是代码失败的原因。它确实有效-请在控制台中尝试:
if(/[^\d\.]/.test(“asd”)警报('not num')x代表什么?我试过你的代码,它很有效!!但现在我唯一的问题是,即使“number”有一个值,它也会给我一个弹出的警报…很抱歉,我对JavascriptUsing的代码非常陌生,只有当该值包含数字和点以外的字符时,警报才会触发。如果您有奇怪的行为,请设置一个JS Fiddle。您需要研究事件绑定和字符串与变量等概念(在引号中加上“x”,这意味着它将作为字符串而不是
x
变量进行测试。请查看我的更新Fiddle。如果确定,请返回true
 function validateForm()
    {
    var x=document.forms["form_name"]["number_name"].value;
    if (!(x >= 0))
      {
      alert("The following must be filled out");
      return false;
      }
    }
function isNumber(x) {
    return !isNaN(parseFloat(x)) && isFinite(x);
}