一个检测表单数据的JavaScript实例
来源: 阅读:636 次 日期:2014-11-03 14:11:46
温馨提示: 小编为您整理了“一个检测表单数据的JavaScript实例”,方便广大网友查阅!

一个检测表单数据的JavaScript实例,很简单,很实用,感兴趣的朋友可以看看

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>每天一个JavaScript实例-检测表单数据</title>

<style>

[role="alert"]{

background-color: #fcc;

font-weight: bold;

padding:5px;

border:1px dashed #000;

}

div{

margin:10px 0;

padding:5px;

width:400px;

background-color: #fff;

}

</style>

<script>

window.onload = function(){

document.getElementById("thirdfield").onchange = validateField;

document.getElementById("firstfield").onblur = mandatoryField;

document.getElementById("testform").onsubmit = finalCheck;

}

function validateField(){

removeAlert();

if(!isNaN(parseFloat(this.value))){

resetField(this);

}else{

badField(this);

generateAlert("You entered an invalid value in Third Field. only numeric values such as 105 or 3.45 are allowed");

}

}

function removeAlert(){

var msg = document.getElementById("msg");

if(msg){

document.body.removeChild(msg);

}

}

function resetField(elem){

elem.parentNode.setAttribute("style","background-color:#fff");

var valid = elem.getAttribute("aria-invalid");

if(valid) elem.removeAttribute("aria-invalid");

}

function badField(elem){

elem.parentNode.setAttribute("style","background-color#fee");

elem.setAttribute("aria-invalid","true");

}

function generateAlert(txt){

var txtNd = document.createTextNode(txt);

msg = document.createElement("div");

msg.setAttribute("role","alert");

msg.setAttribute("id","msg");

msg.setAttribute("class","alert");

msg.appendChild(txtNd);

document.body.appendChild(msg);

}

function mandatoryField(){

removeAlert();

if(this.value.length > 0 ){

resetField(this);

}else{

badField(this);

generateAlert("You must enter a value into First Field");

}

}

function finalCheck(){

//console.log("aaa");

removeAlert();

var fields =document.querySelectorAll('input[aria-invalid="true"]');

//var fields =document.querySelectorAll("input[aria-invalid='true']");//错误!!!

console.log(fields);

if(fields.length > 0){

generateAlert("You have incorrect fields entries that must be fixed before you can submit this form");

return false;

}

}

</script>

</head>

<body>

<form id = "testform">

<div>

<label for="firstfield">*first Field:</label><br />

<input id="firstfield" name = "firstfield" type = "text" aria-required = "true" />

</div>

<div>

<label for="secondfield">Second Field:</label><br />

<input id="secondfield" name = "secondfield" type = "text" />

</div>

<div>

<label for="thirdfield">Third Field(numeric):</label><br />

<input id="thirdfield" name = "thirdfield" type = "text" />

</div>

<div>

<label for="fourthfield">Fourth Field:</label><br />

<input id="fourthfield" name = "fourthfield" type = "text" />

</div>

<input type="submit" value = "Send Data" />

</form>

</body>

</html>

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map