>  기사  >  웹 프론트엔드  >  프롬프트가 포함된 Ajax 유효성 검사 양식 예

프롬프트가 포함된 Ajax 유효성 검사 양식 예

亚连
亚连원래의
2018-05-25 10:00:151399검색

이 글에서는 양식 입력에 대한 실시간 프롬프트 기능을 구현할 수 있는 프롬프트가 있는 Ajax 확인 양식을 주로 소개합니다. 매우 간단하고 실용적입니다. 도움이 필요한 친구가 참고할 수 있습니다.

이 글에서는 Ajax 확인 양식을 다음과 같이 설명합니다. 프롬프트. 참고할 수 있도록 모든 사람과 공유하세요.

일반적으로 사용되는 Ajax 양식 검증 프로그램입니다. 입력한 문자가 요구 사항을 충족하는지 실시간으로 알려줍니다. 간결하고 수정이 용이하며 혼합되지 않습니다. 다른 프레임워크 코드와 함께 사용하면 더 실용적입니다.

런닝 효과 스크린샷은 다음과 같습니다.

구체적인 코드는 다음과 같습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>带提示的Ajax验证表单</title>
<style type="text/css">
form {
  width:500px;
  border:1px solid #ccc;
}
fieldset {
  border:0;
  padding:10px;
  margin:10px;
  position:relative;
}
label {
  display:block;
  font:normal 12px/17px verdana;
}
input {width:160px;}
span.hint {
  font:normal 11px/14px verdana;
  background:#eee url(images/bg-span-hint-gray.gif) no-repeat top left;
  color:#444;
  border:1px solid #888;
  padding:5px 5px 5px 40px;
  width:250px;
  position:absolute;
  margin: -12px 0 0 14px;
  display:none;
}
fieldset.welldone span.hint {
  background:#9fd680 url(images/bg-span-hint-welldone.jpg) no-repeat top left;
  border-color:#749e5c;
  color:#000;
}
fieldset.kindagood span.hint {
  background:#ffffcc url(images/bg-span-hint-kindagood.jpg) no-repeat top left;
  border-color:#cc9933;
}
fieldset.welldone {
  background:transparent url(images/bg-fieldset-welldone.gif) no-repeat 194px 19px;
}
fieldset.kindagood {
  background:transparent url(images/bg-fieldset-kindagood.gif) no-repeat 194px 19px;
}
</style>
<script type="text/javascript">
function checkUsernameForLength(whatYouTyped) {
  var fieldset = whatYouTyped.parentNode;
  var txt = whatYouTyped.value;
  if (txt.length > 5) {
    fieldset.className = "welldone";
  }
  else {
    fieldset.className = "";
  }
}
function checkPassword(whatYouTyped) {
  var fieldset = whatYouTyped.parentNode;
  var txt = whatYouTyped.value;
  if (txt.length > 3 && txt.length < 8) {
    fieldset.className = "kindagood";
  } else if (txt.length > 7) {
    fieldset.className = "welldone";
  } else {
    fieldset.className = "";
  }
}
function checkEmail(whatYouTyped) {
  var fieldset = whatYouTyped.parentNode;
  var txt = whatYouTyped.value;
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(txt)) {
    fieldset.className = "welldone";
  } else {
    fieldset.className = "";
  }
}
function addLoadEvent(func) {
 var oldonload = window.onload;
 if (typeof window.onload != &#39;function&#39;) {
  window.onload = func;
 } else {
  window.onload = function() {
   oldonload();
   func();
  }
 }
}
function prepareInputsForHints() {
 var inputs = document.getElementsByTagName("input");
 for (var i=0; i<inputs.length; i++){
  inputs[i].onfocus = function () {
   this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
  }
  inputs[i].onblur = function () {
   this.parentNode.getElementsByTagName("span")[0].style.display = "none";
  }
 }
}
addLoadEvent(prepareInputsForHints);
</script>
</head>
<body>
<form
  action="#"
  name="basicform"
  id="basicform" >
<fieldset>
  <label for="username">用户名:</label>
  <input
    type="text"
    id="username"
    onkeyup="checkUsernameForLength(this);" />
  <span class="hint">用户名最低6位哦</span>
</fieldset>
<fieldset>
  <label for="password">密码:</label>
  <input
    type="password"
    id="password"
    onkeyup="checkPassword(this);" />
  <span class="hint">密码需要4到8位哦</span>
</fieldset>
<fieldset>
  <label for="email">Email地址:</label>
  <input
    type="text"
    id="email"
    onkeyup="checkEmail(this);" />
  <span class="hint">You can enter your real address without worry - we don&#39;t spam!</span>
</fieldset>
</form>
</body>
</html>

위 내용은 제가 모두를 위해 정리한 내용입니다. 앞으로 모든 분들께 도움이 되길 바랍니다.

관련 기사:

Ajax를 기반으로 드롭다운 상자 연결 표시 데이터 구현

jquery의 ajax 동기화 및 비동기에 대한 자세한 설명

ajax jquery의 비동기 업로드

위 내용은 프롬프트가 포함된 Ajax 유효성 검사 양식 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.