溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

《JavaScript高級程序設計》學習筆記(表單和數據完整性)

發布時間:2020-08-05 08:52:44 來源:ITPUB博客 閱讀:197 作者:tonyscau 欄目:編程語言

表單和數據完整性

創建表單元素是為了滿足用戶向服務器發送數據的需求。

表單基礎

HTML表單通過

元素來定義

特性:
method 屬性 設置或獲取如何將表單數據發送到服務器
action 屬性 設置或獲取表單內容要發送處理的 URL
enctype 屬性 設置或獲取表單發送的編碼方式。默認是application/x-www-form-urlencoded,如果要上傳文件要設成multipart/form-data。
accept 屬性 上傳文件時,列出服務器能正確處理的mime類型
acceptCharset 屬性 設置或獲取處理表單的服務器必須接受的字符編碼

輸入元素:
元素 主要的HTML輸入元素
通過type屬性確定控件:
text radio checkbox file password button submit reset hidden image

而且


自動切換到下一個
通過表單的elements集合,獲取下一個表單元素


限制textarea的字符數
例如:


允許/阻止文本框中的字符
用于驗證用戶數據,或阻止無效數據輸入

阻止無效字符
設定要阻止的字符,再檢測輸入字符的charCode是否要阻止的字符

允許有效字符
設定允許的字符,再檢測輸入字符的charCode是否允許的字符

對于粘貼內容
1 禁止粘貼
ie中,用onpaste事件阻止粘貼行為,其他還需要用oncontextmenu事件
例如:
對于用Ctrl+V進行的粘貼,可根據charCode和ctrlKey判斷按鍵是否Ctrl+V

2 失去焦點驗證
在onblur事件中檢測
注意:不能在onchange事件中檢測,當第一次檢測時能正常發現不正確內容,這時焦點回到原來文本框,但如果第二次并沒有修改不正確的內容,所以沒有觸發onchange事件,即沒有觸發檢測事件直接跳過了。


使用上下鍵操作數字文本
在onkeydowm事件中操作

列表框和組合框

列表框和組合框通過HTML的元素定義了 options 集合
獲取

index 屬性 表示在options集合中的位置
例如:oListbox.option[1].index; //1

length 屬性 表示選項數目
例如:oListbox.options.length;


獲取/更改選中項
select:
selectedIndex 屬性 選中的選項的索引(沒有選中時為-1)
multiple 屬性 設為"multiple"時可以在列表框中選擇多個選項
如果選中多個選項,selectedIndex將包含第一個選項的索引

option:
selected 屬性 表示選項是否被選中
通過對選項循環判斷selected屬性,獲取所有選中選項的索引


添加選項
用javascript添加選項:
1 使用DOM方法創建


刪除選項
用javascript刪除選項:
1 將要刪除的選項設置為null
oListbox.options[1] = null;
2 使用remove()方法,參數為要刪除的選項的索引
oListbox.remove(0);
注意:如果用循環來刪除多個選項,最好從最大的索引開始操作,因為刪除后index索引會重置


移動選項
把選項從一個列表框移動到另一個列表框:
1 獲取要移動的選項的引用
var oOption = oListboxFrom(iIndex);
2 在另一個列表框中使用appendChild()方法添加該選項,同時該選項會從當前列表框中刪除
oListboxTo.appendChild(oOption);
注意:跟刪除選項一樣,如果要移動多個選項,最好從最大的索引開始操作


重新排序選項
將選項進行重新排序,包括向上和向下移動:
1 獲取要移動的選項的引用
var oOption = oListbox(iIndex);
2 獲取要移動的位置的選項
向上移動:var oPrevOption = oListbox.options[iIndex-1];
向下移動:var oNextOption = oListbox.options[iIndex+1];
3 使用insertBefore()方法重新設置位置
向上移動:oListbox.insertBefore(oOption, oPrevOption);
向下移動:oListbox.insertBefore(oNextOption, oOption);

創建自動提示的文本框

這種文本框會檢查用戶輸入的頭幾個字符,然后給出幫助用戶輸入的列表


匹配
搜索字符串數組并返回以特定字符開頭的所有值:
1 創建用于存儲所有匹配的值的數組
var arrResule = new Array;
2 確保進行匹配的字符串非空,再循環找出匹配的每個值,并添加到數組中
if(arrValues[i].indexof(sText)==0) arrResult.push(arrResule[i]);
建議:在得到匹配數組后最好用sort方法排序,對于字符串可結合localeCompare方法


內部機制
使用keyup事件調用提示程序
1 清空列表框(參考刪除選項)
2 把匹配數組的值插入到列表框(參考添加選項)
3 給列表框的選項添加onclick事件,將文本框內容設置為當前選中的選項
注意:由于匹配過程是區分大小寫的,建議先將字符串轉為小寫或大寫

[@more@]
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女