JavaScript中怎么實現(xiàn)表單操作和表單域,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|網(wǎng)站維護|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋宴會酒店設(shè)計等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。
一、表單的獲取方式
1.document.getElementById()
2.document.forms[index];
3.document.forms[form_name]
4.document.form_name
function testGetForm() { var frm = document.getElementById("regForm"); // 常用 console.log(frm); frm = document.forms[0]; console.log(frm); frm = document.forms["aaform"]; console.log(frm); frm = document.aaform; // 常用,僅表單可以通過name屬性獲取 console.log(frm); }
二、表單對象的屬性
action:表單提交的地址
method:表單的提交方式:get(默認)、post
get方式和post方式的區(qū)別
1.get方式會將提交的數(shù)據(jù)以(?name1=value1&name2=value2...)放在url后面
post方式會將數(shù)據(jù)以(name1=value1&name2=value2...)放在“請求實體”中
2.get將數(shù)據(jù)放在url后,由于url是有長度的,且url是可見,所以get方式不適合發(fā)送一些敏感數(shù)據(jù)
post方式將數(shù)據(jù)放在“請求實體”中,理論上是無限制,post方式適合發(fā)送一些敏感數(shù)據(jù)
3.get方式請求會有緩存
post方式請求不會有緩存
.enctype //表單的編碼方式application/x-www-form-urlencoded
enctype的值的區(qū)別
1.application/x-www-form-urlencoded(默認、且常用)
無論post方式還是get方式提交,表單數(shù)據(jù)均以(name1=value1&name2=value2...)組織數(shù)據(jù)
2.multipart/form-data(表單上傳文件時)
1)get方式,表單以(name1=value1&name2=value2...)組織數(shù)據(jù)
2)post方式,表單數(shù)據(jù)會放在類似于“------WebKitFormBoundaryGSF0lHBAvwWyAcuV”字符串中間.
3.text/plain
1)get方式,表單以(name1=value1&name2=value2...)組織數(shù)據(jù)
2)post方式,表單數(shù)據(jù)會以name1=value2,name2=value2,數(shù)據(jù)之間沒有連接符號
.elements //返回表單中所有的表單域(input button select textarea)對象的一個數(shù)組.
.length //返回表單中表單域?qū)ο蟮臄?shù)量
function testFormField() { // 獲取表單 var frm = document.aaform; console.log(frm.id); console.log(frm.name); //表單提交的地址 console.log(frm.action); //表單的提交方式:get(默認)、post console.log(frm.method); //表單的編碼方式 console.log(frm.enctype); //返回表單中所有的表單域(input button select textarea)對象的一個數(shù)組 console.log(frm.elements); //返回表單中表單域?qū)ο蟮臄?shù)量 console.log(frm.length); }
三、表單對象的方法
frm.submit(); //提交表單
frm.reset(); //重置表單
四、表單對象的事件
1.對于表單中設(shè)置的提交、重置按鈕,會觸發(fā)onsubmit事件、onreset事件
2.在表單外部通過submit()提交表單不會觸發(fā)onsubmit事件
3.在表單外部通過reset()重置表單會觸發(fā)onreset事件
4.我們將onsubmit事件、onreset事件返回一個false就可以阻止事件的執(zhí)行
onreset="return testFormEvent2();"
onsubmit="return testFormEvent1();"
function testFormMethod(){ var frm = document.aaform; // frm.submit(); //提交表單 frm.reset(); //重置表單 } function testFormEvent1(){ alert("表單提交了!") //寫驗證表單的代碼 return true; } function testFormEvent2(){ alert("表單重置了!") return false; }