小码哥的IT人生

JavaScript 表单

JavaScript基础 2022-04-25 01:51:17小码哥的IT人生shichen

JavaScript 表单

JavaScript 表单验证

HTML 表单验证可以通过 JavaScript 完成。

如果表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交:

JavaScript 实例

function validateForm() {
  let x = document.forms["myForm"]["fname"].value;
  if (x == "") {
    alert("Name must be filled out");
    return false;
  }
}

提交表单时可以调用该函数:

HTML 表单实例

<form name="myForm" action="/action_page.php" onsubmit="return validateForm()" method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

完整实例:

<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
  let x = document.forms["myForm"]["fname"].value;
  if (x == "") {
    alert("Name must be filled out");
    return false;
  }
}
</script>
</head>
<body>
<h1>JavaScript 验证</h1>
<form name="myForm" action="/demo/html/action_page.php" onsubmit="return validateForm()" method="post">
  Name: <input type="text" name="fname">
  <input type="submit" value="Submit">
</form>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

JavaScript 可以验证数字输入

JavaScript 通常用于验证数字输入:

请输入 1 到 10 之间的数字:

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Validation</h1>
<p>请输入 1 到 10 之间的数字:</p>
<input id="numb">
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo"></p>
<script>
function myFunction() {
  // 获取 id = "numb" 的输入字段的值
  let x = document.getElementById("numb").value;
  // 如果 x 不是数字或小于 1 或大于 10
  let text;
  if (isNaN(x) || x < 1 || x > 10) {
    text = "输入无效";
  } else {
    text = "输入没问题";
  }
  document.getElementById("demo").innerHTML = text;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

自动 HTML 表单验证

HTML 表单验证可以由浏览器自动执行:

如果表单字段 (fname) 为空,则 required 属性会阻止提交此表单:

HTML 表单实例

<form action="/action_page.php" method="post">
  <input type="text" name="fname" required>
  <input type="submit" value="Submit">
</form>

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 验证</h1>
<form action="/demo/html/action_page.php" method="post">
  <input type="text" name="fname" required>
  <input type="submit" value="提交">
</form>
<p>如果您点击提交,而不填写文本字段,浏览器将显示错误消息。</p>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

提示:自动 HTML 表单验证在 Internet Explorer 9 或更早版本中不起作用。

数据验证

数据验证是确保用户输入干净、正确和有用的过程。

典型的验证任务是:

  1. 用户是否填写了所有必填字段?
  2. 用户是否输入了有效日期?
  3. 用户是否在数字字段中输入了文本?

大多数情况下,数据验证的目的是确保用户输入正确。

验证可以通过许多不同的方法定义,并以许多不同的方式部署。

服务器端验证由 Web 服务器在输入发送到服务器后执行。

在将输入发送到 Web 服务器之前,客户端验证由 Web 浏览器执行。

HTML 约束验证

HTML5 引入了一种新的 HTML 验证概念,称为约束验证。

HTML 约束验证基于:

  1. 约束验证 HTML input 属性
  2. 约束验证 CSS 伪选择器
  3. 约束验证 DOM 属性和方法

约束验证 HTML input 属性

属性 描述
disabled 规定应禁用 input 元素。
max 规定 input 元素的最大值。
min 规定 input 元素的最小值。
pattern 规定 input 元素的值模式。
required 规定 input 字段必填。
type 规定 input 元素的类型。

如需完整列表,请访问 HTML Input 属性

约束验证 CSS 伪选择器

选择器 描述
:disabled 选择规定了 "disabled" 属性的 input 元素。
:invalid 选择有无效值的 input 元素。
:optional 选择未规定 "required" 属性的 input 元素。
:required 选择规定了 "required" 属性的 input 元素。
:valid 选择具有有效值的 input 元素。

如需完整列表,请访问 CSS 伪类

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024