javascript表單事件處理方法詳解
本文實(shí)例為大家分享了javascript處理表單事件的常用方法,供大家參考,具體內(nèi)容如下
1、訪問(wèn)表單對(duì)象的常用方法:
①:根據(jù)<form>元素的id屬性;
var myform=document.getElementById("myformid"); //myformid是某個(gè)<form>元素的ID;
②:根據(jù)<form>元素的name屬性;
var myform=document.forms["myformname"]; //myformname是某個(gè)<form>元素的名稱;
③:直接使用表單名訪問(wèn)表單:
var myform=document.myformname; //myformname是某個(gè)<form>元素的名稱;
2、表單的常用事件:
①onsubmit事件:點(diǎn)擊“提交”按鈕的時(shí)候會(huì)觸發(fā)此事件,并且可能阻止表單提交。例:表單的驗(yàn)證;
②onchange事件:當(dāng)用戶更改內(nèi)容,并且文本框失去焦點(diǎn)的時(shí)候觸發(fā)此事件;
例:表單提交
前臺(tái)界面:
前臺(tái)界面的代碼:
<form name="myform" action="javascript:alert('注冊(cè)成功!');" method="post" onsubmit="return yanzheng();"> <table width="500px"> <tbody> <tr> <td> 用戶名: </td> <td> <input name="username" id="username" type="text" /> </td> <td align="left"> <p style="color: #FF0000">*用戶名長(zhǎng)度在6-10之間</p> </td> </tr> <tr> <td> 密 碼: </td> <td> <input id="password" onchange="passwordleave()" type="password" /> </td> <td align="left"> <p style="color: #FF0000">* <input id="Button1" type="button" value="弱" style="background-color: #FF0000" /> <input id="Button2" type="button" value="中" style="background-color: #FF0000" /> <input id="Button3" type="button" value="強(qiáng)" style="background-color: #FF0000" /> <label id="lavel"></label> </p> </td> </tr> <tr> <td> 年 齡: </td> <td> <input id="age" type="text" /> </td> <td align="left"> <p style="color: #FF0000">*</p> </td> </tr> <tr> <td> 性 別: </td> <td> <input name="sex" type="radio" value="男" checked="checked" />男 <input name="sex" type="radio" value="女"/>女 </td> <td align="left"> <p style="color: #FF0000">*</p> </td> </tr> <tr> <td> 內(nèi) 容: </td> <td> <input type="checkbox" name="content" value="新聞" />新聞 <input type="checkbox" name="content" value="娛樂(lè)" />娛樂(lè) <input type="checkbox" name="content" value="教育" />教育 </td> <td align="left"> <p style="color: #FF0000">*</p> </td> </tr> <tr> <td> 學(xué) 歷: </td> <td> <select name="edu_level" style="width: 74px"> <option value="1">小學(xué)</option> <option value="2">中學(xué)</option> <option value="3">大學(xué)</option> <option value="4">大學(xué)以上</option> </select> </td> <td align="left"> <p style="color: #FF0000">*</p> </td> </tr> <tr> <td> 愛(ài) 好: </td> <td> <select name="like" size="6" multiple="multiple" style="width: 72px; height: 108px"> <option value="1">籃球</option> <option value="2">足球</option> <option value="3">排球</option> <option value="4">跑步</option> <option value="5">登山</option> <option value="6">健美</option> </select> </td> <td align="left"> <p style="color: #FF0000">*</p> </td> </tr> <tr> <td> <input id="Button4" type="button" onclick="checkinfo()" value="查看信息" /></td> <td> <input type="submit" name="tijiao" value="注冊(cè)" /> </td> <td> <input type="reset" name="reset" value="重置" /> </td> </tr> </tbody> </table> </form>
JS腳本:
<script type="text/javascript"> function yanzheng() { var b; var a = document.getElementById("username"); //獲取用戶名值 var p = document.getElementById("password"); //獲取密碼值 var age = myform.age.value; //獲取年齡值 if (a.value.length < 5 || a.value.length > 10) { alert("您輸入的用戶名格式錯(cuò)誤!"); return false; } else if (p.value.length < 5) { alert("密碼長(zhǎng)度少于5!"); return false; } else if (!checkage(age)) { return false; } else { return true; } } function checkage(a) { //檢測(cè)年齡 var ch, age; for (var i = 0; i < a.length; i++) { ch = a.charAt(i); if (ch < "0" || ch > "9") { alert("請(qǐng)?jiān)谀挲g選項(xiàng)中輸入數(shù)字!"); return false; } } age = parseInt(a); if (age < 10 || age > 100) { alert("年齡不真實(shí)!"); return false; } return true; } function checkinfo() { //顯示所有的信息 var username = myform.username.value; //獲取用戶名 var password = myform.password.value; //獲取密碼 var age = myform.age.value; //獲取年齡 var sex = myform.sex; //獲取性別 var osex = ""; //設(shè)置一個(gè)變量獲取性別的選項(xiàng) var content = myform.content; //獲取內(nèi)容 var ocontent = ""; //設(shè)置一個(gè)變量獲取內(nèi)容的選項(xiàng) var eduleave = myform.edu_level; //獲取學(xué)歷 var oedu = ""; //設(shè)置一個(gè)變量獲取學(xué)歷的選項(xiàng) var intersent = myform.like; //獲取表單愛(ài)好 var olike = ""; //設(shè)置一個(gè)變量獲取愛(ài)好的選項(xiàng) for (var i = 0; i < sex.length; i++) { //性別 if (sex[i].checked) { osex = sex[i].value; } } for (var i = 0; i < content.length; i++) { //內(nèi)容 if (content[i].checked) { ocontent += content[i].value + " "; } } for (var i = 0; i < eduleave.length; i++) { //學(xué)歷 if (eduleave.selectedIndex >= 0) { oedu = eduleave.options[eduleave.selectedIndex].text; } } for (var i = 0; i < intersent.length; i++) { //愛(ài)好 if (intersent.options[i].selected) { olike += intersent.options[i].text + " "; } } alert("您的用戶名為:" + username + "\n密碼為:" + password + "\n年齡為:" + age + "\n性別為:" + osex + "\n內(nèi)容為:" + ocontent + "\n學(xué)歷為:" + oedu + "\n興趣愛(ài)好為:" + olike); } function passwordleave() { var passwordleavel = myform.password.value; if (passwordleavel.length == "") { document.getElementById("Button1").style.display = "none"; document.getElementById("Button2").style.display = "none"; document.getElementById("Button3").style.display = "none"; } else { if (passwordleavel.length <= "5") { document.getElementById("Button1").style.display = ""; document.getElementById("Button2").style.display = "none"; document.getElementById("Button3").style.display = "none"; } else if (passwordleavel.length <= "10") { document.getElementById("Button1").style.display = ""; document.getElementById("Button2").style.display = ""; document.getElementById("Button3").style.display = "none"; } else { document.getElementById("Button1").style.display = ""; document.getElementById("Button2").style.display = ""; document.getElementById("Button3").style.display = ""; } } } function startbody() { document.getElementById("Button1").style.display = "none"; document.getElementById("Button2").style.display = "none"; document.getElementById("Button3").style.display = "none"; } </script>
這個(gè)案例只是一些常規(guī)的做法,不涉及什么技術(shù),只是為了下次方便使用。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。
- 淺談Javascript事件處理程序的幾種方式
- JavaScript事件處理程序(事件偵聽(tīng)器)
- JavaScript事件處理器中的event參數(shù)使用介紹
- 實(shí)例講解javascript注冊(cè)事件處理函數(shù)
- javascript打造跨瀏覽器事件處理機(jī)制[Blue-Dream出品]
- 詳解js的事件處理函數(shù)和動(dòng)態(tài)創(chuàng)建html標(biāo)記方法
- 詳細(xì)解讀JavaScript的跨瀏覽器事件處理
- 探究JavaScript中的五種事件處理程序方式
- javascript瀏覽器兼容教程之事件處理
- JavaScript常見(jiàn)事件處理程序?qū)嵗偨Y(jié)
相關(guān)文章
TypeScript調(diào)整數(shù)組元素順序算法
數(shù)組類型在TS中可以使用多種方式,比較靈活,下面這篇文章主要給大家介紹了關(guān)于TypeScript調(diào)整數(shù)組元素順序算法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04微信小程序云開(kāi)發(fā)之使用云數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了微信小程序云開(kāi)發(fā)之使用云數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05javascript 解析后的xml對(duì)象的讀取方法細(xì)解
2009-07-07js中如何對(duì)嵌套數(shù)組進(jìn)行filter過(guò)濾
這篇文章主要介紹了js中如何對(duì)嵌套數(shù)組進(jìn)行filter過(guò)濾問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Bootstrap 中下拉菜單修改成鼠標(biāo)懸停直接顯示
本文介紹將Bootstrap的二級(jí)菜單由點(diǎn)擊顯示改為鼠標(biāo)懸停顯示的具體實(shí)現(xiàn)方法,希望對(duì)大家有所幫助。2016-04-04基于JavaScript實(shí)現(xiàn)簡(jiǎn)單的輪播圖
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)簡(jiǎn)單的輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03JS簡(jiǎn)單測(cè)試循環(huán)運(yùn)行時(shí)間的方法
這篇文章主要介紹了JS簡(jiǎn)單測(cè)試循環(huán)運(yùn)行時(shí)間的方法,涉及針對(duì)javascript中for循環(huán)、for...in循環(huán)及foreach循環(huán)的相關(guān)使用方法及運(yùn)行時(shí)間測(cè)試,需要的朋友可以參考下2016-09-09JS控制表格實(shí)現(xiàn)一條光線流動(dòng)分割行的方法
這篇文章主要介紹了JS控制表格實(shí)現(xiàn)一條光線流動(dòng)分割行的方法,實(shí)例分析了javascript操作table表格元素的技巧,需要的朋友可以參考下2015-03-03