摘要:用操作表單和操作是類似的,因?yàn)楸韱伪旧硪彩菢?。因此,第二種方式是響應(yīng)本身的事件,在提交時(shí)作修改可以在此修改的繼續(xù)下一步注意要來(lái)告訴瀏覽器繼續(xù)提交,如果,瀏覽器將不會(huì)繼續(xù)提交,這種情況通常對(duì)應(yīng)用戶輸入有誤,提示用戶錯(cuò)誤信息后終止提交。
用JavaScript操作表單和操作DOM是類似的,因?yàn)楸韱伪旧硪彩荄OM樹。
HTML表單的輸入控件主要有以下幾種:
文本框,對(duì)應(yīng)的,用于輸入文本; 口令框,對(duì)應(yīng)的,用于輸入口令; 單選框,對(duì)應(yīng)的,用于選擇一項(xiàng); 復(fù)選框,對(duì)應(yīng)的,用于選擇多項(xiàng); 下拉框,對(duì)應(yīng)的獲取值
如果我們獲得了一個(gè)節(jié)點(diǎn)的引用,就可以直接調(diào)用value獲得對(duì)應(yīng)的用戶輸入值:
// var input = document.getElementById("email"); input.value; // "用戶輸入的值"
這種方式可以應(yīng)用于text、password、hidden以及select。但是,對(duì)于單選框和復(fù)選框,value屬性返回的永遠(yuǎn)是HTML預(yù)設(shè)的值,而我們需要獲得的實(shí)際是用戶是否“勾上了”選項(xiàng),所以應(yīng)該用checked判斷:
// // var mon = document.getElementById("monday"); var tue = document.getElementById("tuesday"); mon.value; // "1" tue.value; // "2" mon.checked; // true或者false tue.checked; // true或者false設(shè)置值
設(shè)置值和獲取值類似,對(duì)于text、password、hidden以及select,直接設(shè)置value就可以:
// var input = document.getElementById("email"); input.value = "[email protected]"; // 文本框的內(nèi)容已更新
對(duì)于單選框和復(fù)選框,設(shè)置checked為true或false即可
HTML5控件HTML5新增了大量標(biāo)準(zhǔn)控件,常用的包括date、datetime、datetime-local、color等,它們都使用標(biāo)簽
提交表單方式一是通過提交一個(gè)表單,例如,響應(yīng)一個(gè)
這種方式的缺點(diǎn)是擾亂了瀏覽器對(duì)form的正常提交。瀏覽器默認(rèn)點(diǎn)擊
注意要return true來(lái)告訴瀏覽器繼續(xù)提交,如果return false,瀏覽器將不會(huì)繼續(xù)提交form,這種情況通常對(duì)應(yīng)用戶輸入有誤,提示用戶錯(cuò)誤信息后終止提交form。
在檢查和修改時(shí),要充分利用來(lái)傳遞數(shù)據(jù)。
例如,很多登錄表單希望用戶輸入用戶名和口令,但是,安全考慮,提交表單時(shí)不傳輸明文口令,而是口令的MD5。普通JavaScript開發(fā)人員會(huì)直接修改:toMD5
這個(gè)做法看上去沒啥問題,但用戶輸入了口令提交時(shí),口令框的顯示會(huì)突然從幾個(gè)變成32個(gè)(因?yàn)镸D5有32個(gè)字符)。
要想不改變用戶的輸入,可以利用實(shí)現(xiàn):
注意到id為md5-password的標(biāo)記了name="password",而用戶輸入的id為input-password的沒有name屬性。沒有name屬性的的數(shù)據(jù)不會(huì)被提交。
操作文件文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/82020.html
摘要:在回調(diào)函數(shù)中,通常我們只需通過判斷請(qǐng)求是否完成,如果已完成,再根據(jù)判斷是否是一個(gè)成功的響應(yīng)。因此我們需要首先在頁(yè)面中準(zhǔn)備好回調(diào)函數(shù)當(dāng)前價(jià)格最后用函數(shù)觸發(fā)表示本域,也就是瀏覽器當(dāng)前頁(yè)面的域。 Asynchronous JavaScript and XML,意思就是用JavaScript執(zhí)行異步網(wǎng)絡(luò)請(qǐng)求。 如果仔細(xì)觀察一個(gè)Form的提交,你就會(huì)發(fā)現(xiàn),一旦用戶點(diǎn)擊Submit按鈕,表單開始提...
摘要:對(duì)象不但充當(dāng)全局作用域,而且表示瀏覽器窗口。對(duì)象有和屬性,可以獲取瀏覽器窗口的內(nèi)部寬度和高度。對(duì)象表示當(dāng)前頁(yè)面的信息。由于在瀏覽器中以形式表示為樹形結(jié)構(gòu),對(duì)象就是整個(gè)樹的根節(jié)點(diǎn)。這個(gè)行為由瀏覽器實(shí)現(xiàn),主流瀏覽器均支持選項(xiàng),從開始支持。 瀏覽器 目前主流的瀏覽器: IE 6~11:從IE10開始支持ES6標(biāo)準(zhǔn); Chrome:基于Webkit內(nèi)核,內(nèi)置了非常強(qiáng)悍的JavaScript引...
摘要:例如,在一個(gè)中,刪掉偶數(shù),只保留奇數(shù),可以這么寫把一個(gè)中的空字符串刪掉,可以這么寫注意以下的版本沒有方法可見用這個(gè)高階函數(shù),關(guān)鍵在于正確實(shí)現(xiàn)一個(gè)篩選函數(shù)?;卣{(diào)函數(shù)接收的回調(diào)函數(shù),其實(shí)可以有多個(gè)參數(shù)。 1.map 由于map()方法定義在JavaScript的Array中,我們調(diào)用Array的map()方法,傳入我們自己的函數(shù),就得到了一個(gè)新的Array作為結(jié)果: function po...
摘要:讓我們拆開寫小明正常結(jié)果單獨(dú)調(diào)用函數(shù)怎么返回了請(qǐng)注意,我們已經(jīng)進(jìn)入到了的一個(gè)大坑里。如果單獨(dú)調(diào)用函數(shù),比如,此時(shí),該函數(shù)的指向全局對(duì)象,也就是。 函數(shù) 1. arguments JavaScript還有一個(gè)免費(fèi)贈(zèng)送的關(guān)鍵字arguments,它只在函數(shù)內(nèi)部起作用,并且永遠(yuǎn)指向當(dāng)前函數(shù)的調(diào)用者傳入的所有參數(shù)。arguments類似Array但它不是一個(gè)Array: function fo...
摘要:根節(jié)點(diǎn)已經(jīng)自動(dòng)綁定為全局變量。如果寫入的字符串是通過網(wǎng)絡(luò)拿到了,要注意對(duì)字符編碼來(lái)避免攻擊。修改也是經(jīng)常需要的操作。當(dāng)你遍歷一個(gè)父節(jié)點(diǎn)的子節(jié)點(diǎn)并進(jìn)行刪除操作時(shí),要注意,屬性是一個(gè)只讀屬性,并且它在子節(jié)點(diǎn)變化時(shí)會(huì)實(shí)時(shí)更新。 1.操作DOM 操作一個(gè)DOM節(jié)點(diǎn)實(shí)際上就是這么幾個(gè)操作:更新、遍歷、添加、刪除。 由于ID在HTML文檔中是唯一的,所以document.getElementByI...
閱讀 3468·2021-09-08 09:36
閱讀 2564·2019-08-30 15:54
閱讀 2355·2019-08-30 15:54
閱讀 1771·2019-08-30 15:44
閱讀 2395·2019-08-26 14:04
閱讀 2446·2019-08-26 14:01
閱讀 2883·2019-08-26 13:58
閱讀 1337·2019-08-26 13:47