php - 如何在 JavaScript 中使用相同的函数验证所有字段?

标签 php javascript html forms validation

我需要执行以下操作,但我在网络上找不到任何类似表单验证的示例:

 <script type="text/javascript">
   function something(){
     if the value on the field who is calling this function == 2,4,6 or 8
     alert("This number is invalid")
     focus in this field. 
</script>

Field1 call something()
Field2 call something()
Field3 call something()
Field4 call something()
Field5 call something()
Field6 call something()

我尝试过这样的:

function validate()
        {
            valid = true;

            if ( document.form.field_name.value == "2" || document.form.field_name.value == "4" || document.form.field_name.value == "6" ||
           document.form.field_name.value == "8" ){
                alert ( "Invalid number." );
                valid = false;
                document.form.field_name.focus();

            }

            return valid;
        }

我这样调用该函数:

a)"Some text" <input type="text" name="aa" size="1" maxlength="1" onkeypress="return validate(aa)"><br>

但是这样我就必须为每个字段创建一个不同的函数。那么我该如何实现呢?

最佳答案

在收集表单元素时,您可以使用括号表示法而不是点表示法,这样您就可以使用变量:

function validate(field_name)
{
  var valid = true;
  var element = document.form[field_name];

  if (!element)
  {
    alert('A field named ' + field_name + ' cannot be found in your form!');
    return false;
  }

  var value = element.value;

  if (value == "2" ||  value == "4" || value == "6" || value == "8")
  {
    alert("Invalid number.");
    valid = false;
    element.focus();
  }

  return valid;
}

然后您只需使用要验证的字段名称调用 validate 即可。

资源:

关于php - 如何在 JavaScript 中使用相同的函数验证所有字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752139/

相关文章:

javascript - 如何从服务器端 C# 代码触发客户端 javascript?

javascript - 100未捕获引用错误: startCase is not defined

html - 如何在 IE 和 Mozilla 中查看完整的源代码

php - 从一个表中获取公司名称并将其插入另一个表时出现问题

php - Base64 和 ROT13 在单个 shell 命令中解码

php - 插入语句不起作用。从一张 table 转移到另一张 table

javascript - 尝试使用 Websocket 和 Express 服务器发布产品表

php - 我应该如何在我的网站上创建访客帐户页面?

html - 无论屏幕尺寸如何,垂直对齐到图像右侧

html - 表格后面的按钮会自动添加为一行。如何将它们分开?