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-05
javascript 解析后的xml對(duì)象的讀取方法細(xì)解
2009-07-07
js中如何對(duì)嵌套數(shù)組進(jìn)行filter過(guò)濾
這篇文章主要介紹了js中如何對(duì)嵌套數(shù)組進(jìn)行filter過(guò)濾問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Bootstrap 中下拉菜單修改成鼠標(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-03
JS簡(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-09
JS控制表格實(shí)現(xiàn)一條光線流動(dòng)分割行的方法
這篇文章主要介紹了JS控制表格實(shí)現(xiàn)一條光線流動(dòng)分割行的方法,實(shí)例分析了javascript操作table表格元素的技巧,需要的朋友可以參考下2015-03-03

