一個檢測表單數據的JavaScript實例
來源:易賢網 閱讀:767 次 日期: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技術專欄

更多信息請查看腳本欄目
易賢網手機網站地址:一個檢測表單數據的JavaScript實例
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看