首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript Keyup表单

Javascript Keyup表单
EN

Stack Overflow用户
提问于 2018-11-13 04:09:15
回答 1查看 35关注 0票数 0

在键入时,如何在字段框旁边的任何颜色的表单旁边显示错误或正确的单词?我正在努力让它在我输入符合JS规则的值时,给我一个实时的正确和错误的判断。

它应该在框的旁边给出一个实时的正确或不正确的信息,如果它符合规则,那么它将显示正确

我的HTML:

代码语言:javascript
复制
<!doctype html>
<html lang="en">
<head>
<title> Form Example </title>
<meta charset="utf-8">
<link href="keyupform.css" rel="stylesheet">
<script src="prototype.js"></script>
<script src="formkeyup.js"></script>
</head>
<body>
<div class="box"  >
<form id="myForm" action="http://www.eecs.yorku.ca/~mbrown/EECS1012/testForm.php" method="get">

  <!-- user id -->
  <h2> Enter Info  </h2>
  <p> <span class="fieldName">UserID: </span>
  <input type="text" id="userid" name="userid" class="input">
  <span class="message"></span></p>

  <!-- -->
  <p style="text-align:center" class="types"> Enter Code: EECS, ESSE, MUTH, HIST, CHAP, BIO </p>
  <p> <span class="fieldName"> Codes </span>
  <input type="text" id="code" name="code" class="input">
  <span class="message"></span></p>

  <!-- Number -->
  <p> <span class="fieldName"> Course Num (XXXX): </span>
  <input style="width: 4em;" id="number" type="text" name="number" class="input">
  <span class="message"></span></p>
  <hr>
  <p style="text-align:center;">  <button  id="submitButton" type="button" onclick="submitbtn"> Submit </button> <input id="clear" type="reset" value="Clear"> </p>
  <p style="text-align:center;" id="formError"> &nbsp; <p>
</form>
</div>
</body>
</html>

JS:

代码语言:javascript
复制
 window.onload = function() {


   $("userid").observe("keyup", enforceID);
   $("code").observe("keyup", enforcecode);
   $("number").observe("keyup", enforcenumbers);
   $("submitButton").observe("click", submitbtn);

}


function enforceID() {
  // fucntion must start with a letter and can be any number or letter after
  var re = /^[A-Z][A-Z][0-9]+/i;
}

function enforcecode() {
  // Only can use these Codes
  var codes = ["EECS", "ESSE", "MUTH", "HIST", "CHAP", "BIO"];
  var codeType = $("codeType").value;
  codeType = codeType.toUpperCase();
}

function enforcenumbers() {
  //Only 4 numbers allowed
  var re = /^[0 -9][0 -9][0 -9][0 -9]$/

}
EN

回答 1

Stack Overflow用户

发布于 2018-11-13 04:48:51

可以在keydown事件上触发表单验证。

代码语言:javascript
复制
const form = document.getElementById('form');

document.getElementById('userid').addEventListener('keydown', event => {
  form.reportValidity();
}, false);

document.getElementById('code').addEventListener('keydown', event => {
  form.reportValidity();
}, false);
代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Title</title>
  </head>

  <body>
    <form id="form">
      <label for="userid">User ID:</label>
      <input type="text" id="userid" name="userid" pattern="[A-Z]{2}\d+">
      <br />
      <label for="code">Code:</label>
      <input type="text" id="code" pattern="EECS|ESSE|MUTH|HIST|CHAP|BIO" />
    </form>
  </body>
</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53269375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档