Javascript 同时使用2个函数验证表单

Javascript 同时使用2个函数验证表单,javascript,validation,isnumeric,Javascript,Validation,Isnumeric,我正在尝试使用javascript函数来验证表单,但无法使其正常工作。 这就是我所拥有的: <script type="text/javascript" language="JavaScript"> function checkForm(f) { if (f.elements['val1'].value == "") { alert("Por favor insere o valor correcto do su

我正在尝试使用javascript函数来验证表单,但无法使其正常工作。 这就是我所拥有的:

<script type="text/javascript" language="JavaScript">
    function checkForm(f)
    {
        if (f.elements['val1'].value == "")
        {
            alert("Por favor insere o valor correcto do subsidio");
            return false;
        }
        else
        {
            f.submit();
            return false;
        }
    }

    function IsNumeric(sText)
    {
       var ValidChars = "0123456789.";
       var IsNumber=true;
       var Char;

       for (i = 0; i < sText.length && IsNumber == true; i++) 
       { 
           Char = sText.charAt(i); 
           if (ValidChars.indexOf(Char) == -1) 
           {
               alert("O valor que introduziu não é válido");
               IsNumber = false;
           }
       }
       return IsNumber;
    }
</script>

    <form method="post" onSubmit="return checkForm(this); return IsNumeric(this); return false;" action="<?php echo $_SERVER['PHP_SELF']; ?>">

功能检查表(f)
{
if(f.elements['val1'].value==“”)
{
警惕(“赞成插入或纠正辅助”);
返回false;
}
其他的
{
f、 提交();
返回false;
}
}
函数为数字(sText)
{
var ValidChars=“0123456789”;
var IsNumber=true;
var-Char;
对于(i=0;i请尝试返回以下内容:

<form onSubmit="return checkForm(this) && IsNumeric(this.elements['val1'].value)">

请尝试返回以下内容:

<form onSubmit="return checkForm(this) && IsNumeric(this.elements['val1'].value)">

您返回的是第一个函数的值,因此停止了is number函数的运行

您需要在checkForm函数中调用is number

<script type="text/javascript" language="JavaScript">
function checkForm(f)
{
    if (f.elements['val1'].value == "")
    {
        alert("Por favor insere o valor correcto do subsidio");
        return false;
    }
    else
    {
        return IsNumeric(f.elements['val1'].value);
    }
}

    function IsNumeric(sText)

    {
       var ValidChars = "0123456789.";
       var IsNumber=true;
       var Char;


       for (i = 0; i < sText.length && IsNumber == true; i++) 
          { 
          Char = sText.charAt(i); 
          if (ValidChars.indexOf(Char) == -1) 
             {
            alert("O valor que introduziu não é válido");
             IsNumber = false;
             }
          }
       return IsNumber;

       }
    </script>

    <form method="post" onSubmit="return checkForm(this);" action="<?php echo $_SERVER['PHP_SELF']; ?>">

功能检查表(f)
{
if(f.elements['val1'].value==“”)
{
警惕(“赞成插入或纠正辅助”);
返回false;
}
其他的
{
返回IsNumeric(f.elements['val1'].value);
}
}
函数为数字(sText)
{
var ValidChars=“0123456789”;
var IsNumber=true;
var-Char;
对于(i=0;i您返回的是第一个函数的值,因此停止了is number函数的运行

您需要在checkForm函数中调用is number

<script type="text/javascript" language="JavaScript">
function checkForm(f)
{
    if (f.elements['val1'].value == "")
    {
        alert("Por favor insere o valor correcto do subsidio");
        return false;
    }
    else
    {
        return IsNumeric(f.elements['val1'].value);
    }
}

    function IsNumeric(sText)

    {
       var ValidChars = "0123456789.";
       var IsNumber=true;
       var Char;


       for (i = 0; i < sText.length && IsNumber == true; i++) 
          { 
          Char = sText.charAt(i); 
          if (ValidChars.indexOf(Char) == -1) 
             {
            alert("O valor que introduziu não é válido");
             IsNumber = false;
             }
          }
       return IsNumber;

       }
    </script>

    <form method="post" onSubmit="return checkForm(this);" action="<?php echo $_SERVER['PHP_SELF']; ?>">

功能检查表(f)
{
if(f.elements['val1'].value==“”)
{
警惕(“赞成插入或纠正辅助”);
返回false;
}
其他的
{
返回IsNumeric(f.elements['val1'].value);
}
}
函数为数字(sText)
{
var ValidChars=“0123456789”;
var IsNumber=true;
var-Char;
对于(i=0;i
<script type="text/javascript" language="JavaScript">
function checkForm(f) {
  var val = f.elements['val1'].value; 
  if (val.length==0) { // blank
    alert("Por favor insere o valor");
    return false;
  }
  if (isNaN(val)) { // not numeric
    alert("Por favor insere o valor correcto do subsidio");
    return false;
  }
  // here the value is a number and filled in
  return true; // no need for else after a return
}
</script>

<form method="post" onSubmit="return checkForm(this);" action="<?php echo $_SERVER['PHP_SELF']; ?>">

功能检查表(f){
var-val=f.elements['val1'].值;
如果(val.length==0){//为空
警惕(“有利于插入或插入价值”);
返回false;
}
if(isNaN(val)){//不是数字
警惕(“赞成插入或纠正辅助”);
返回false;
}
//这里的值是一个数字并填入
return true;//返回后不需要其他
}
更简单的版本

<script type="text/javascript" language="JavaScript">
function checkForm(f) {
  var val = f.elements['val1'].value; 
  if (val.length==0) { // blank
    alert("Por favor insere o valor");
    return false;
  }
  if (isNaN(val)) { // not numeric
    alert("Por favor insere o valor correcto do subsidio");
    return false;
  }
  // here the value is a number and filled in
  return true; // no need for else after a return
}
</script>

<form method="post" onSubmit="return checkForm(this);" action="<?php echo $_SERVER['PHP_SELF']; ?>">

功能检查表(f){
var-val=f.elements['val1'].值;
如果(val.length==0){//为空
警惕(“有利于插入或插入价值”);
返回false;
}
if(isNaN(val)){//不是数字
警惕(“赞成插入或纠正辅助”);
返回false;
}
//这里的值是一个数字并填入
return true;//返回后不需要其他
}

为什么不保留一个函数来调用你需要的任何东西呢?我对这个很迷茫,我对javascript很陌生我不知道如何只调用一个函数。请看mplungjan的答案。为什么不保留一个函数来调用你需要的任何东西呢?我对这个很迷茫,我真的是javascript新手,我不知道如何只打开一个函数。请看mplungjan的答案。&&但是-1表示形式,parseFloat(string)将如何===string???感谢您的指点。它当然应该是两个等号,因为结果需要进行字符串比较。&&的+1,但是-,这是形式,parseFloat(string)怎么会是===string???谢谢你指出。它当然应该是两个等号,因为结果需要进行字符串比较。感谢回复,它似乎可以工作,但我需要两个不同的消息用于两个不同的场景,并且我需要允许数字和小数点。我怎样才能完成这个?感谢感谢您的回复,这似乎是可行的,但我需要2个不同的消息为2个不同的场景,我还需要允许数字和小数点。我怎样才能完成这个?谢谢