即时通讯试图使用将验证表单的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']; ?>">


第一个功能有效,但是第二个功能只允许数字和小数点不起作用。 (不确定第二个功能是否正确)

有人可以帮助我吗?

真诚的

最佳答案

更简单的版本

<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']; ?>">

09-25 16:59