1.form元素對應(yīng)的HTMLFormElement對象特有的屬性和方法(部分):
(1)elements:表單中所有控件的集合(HTMLCollection)
(2)reset():將表單域重置為默認值
(3)submit():提交表單
2.提交表單時,瀏覽器會在將請求發(fā)送前觸發(fā)submit事件。阻止這個事件的默認行為就可以取消表單提交。在Javascript中,以編程方式調(diào)用submit()方法也可以提交表單。而且,這種方式不許表單包含提交按鈕,但值得注意的是以此種方式提交表單時,不會觸發(fā)submit事件。
3.解決重復(fù)提交表單的辦法有兩種:在第一次提交表單后禁用提交按鈕;或者利用onsubmit事件處理程序取消后續(xù)的表單提交操作。
4.使用type特性值為『reset』的<input>和<button>都可以創(chuàng)建重置按鈕。JS同樣可以執(zhí)行此操作,但與提交表單不同的是,JS調(diào)用reset()方法重置表單是會觸發(fā)reset事件的。
5.表單控件元素共有的屬性如下:
(1)disabled:布爾值,表示當前字段是否被禁用。
(2)form:指向當前字段所屬表單的指針;只讀。
(3)name:當前字段的名字。
(4)readOnly:布爾值,表示當前字段是否只讀。
(5)tabIndex:表示當前字段的切換序號。
(6)type:當前字段的類型。
(7)value:當前字段將被提交給服務(wù)器的值。
除了form屬性之外,可以通過JS動態(tài)修改其他任何屬性。
6.表單控件元素共有的方法如下:
(1)focus:用于將瀏覽器的焦點設(shè)置到表單字段。(不能設(shè)置到隱藏的元素中)
(2)blur
7.表單控件元素共有的事件如下:
(1)blur
(2)change:對于\<input\>和<textarea>元素,在它們失去焦點且value值改變時觸發(fā);對于\<select\>元素,,在其選項改變時觸發(fā)。
(3)focus
**文本框腳本**
8.\<input\>元素通過『size』特性,可以指定文本框中能夠顯示的字符數(shù);而maxlength特性則用于指定文本框可以接受的最大字符數(shù)。
9.<textarea>元素通過『rows』特性指定多行文本框的字符行數(shù),使用『cols』特性指定多行文本框的字符列數(shù)。<textarea>的初始值要放在<textarea>和</textarea>之間。不能在HTML中給多行文本框指定最大字符數(shù)。
10.不建議使用標準DOM方法中的setAttribute/getAttribute設(shè)置/獲取文本框的值,也不要去修改textarea的第一個子節(jié)點。因為對value屬性所作的修改,不一定會反映在DOM中。應(yīng)使用以下方法:
~~~
var textarea1 = document.getElementById('textarea-1');
textarea1.value = 'ken chung';
~~~
11.單行與多行文本框都支持select()方法,用于選擇文本框中的所有文本。調(diào)用這個方法時大多數(shù)瀏覽器都會將焦點設(shè)置到相應(yīng)文本框中。這個技術(shù)可以讓用戶不必一個個地刪除文本,大幅提高了表單的易用性。
12.selectionStart和selectionEnd保存著基于0的數(shù)值,表示所選擇文本的范圍,配合substring()方法可以方便得取得用戶在文本框中選擇的文本。
13.setSelectionRange()方法可以選擇文本框的部分內(nèi)容,這在實現(xiàn)高級文本輸入框時很有用,例如提供自動完成建議的文本框。
14.過濾輸入(屏蔽字符輸入、操作粘貼板)
15.在用戶填寫完當前字段時,自動將焦點切換到下一個字段,可以增強表單字段的易用性。
**選擇框腳本**
16.選擇框控件(select)共有的屬性:
(1)multiple:布爾值,表示是否允許多項選擇;等價與HTML中的multiple特性。
(2)options:控件中所有option元素的HTMLCollection。
(3)selectedIndex:基于0的選中項的索引,如果沒有選中項,則值為-1.對于支持多選的控件,只保存選項中第一項的索引。
(4)size:選擇框中可見的行數(shù);等價于HTML中的size特性。
17.選擇框控件(select)共有的方法:
(1)add(newOption,relOption):向控件中插入新option元素,其位置在相關(guān)項之前。
(2)remove(index):移除給定位置的選項。
18.option元素對應(yīng)對象的屬性:
(1)index:當前選項在options集合中的索引。
(2)label:當前選項的標簽,;等價于HTML中的label特性。
(3)selected:布爾值,表示當前選項是否被選中。
(4)text:選項的文本。
(5)value:選項的值;等價于HTML中的value特性。
同樣不推薦使用標準DOM方法修改option元素對象的屬性。
19.選擇框控件的change事件與其他表單字段的change事件觸發(fā)條件不一樣。其他表單字段的change事件是在值被修改切焦點離開當前字段時觸發(fā),而選擇框的change事件只要選中了選項就會觸發(fā)。
20.在JavaScript中,可以利用表單字段的type屬性,連同name和value一起實現(xiàn)對表單的序列化。
21.表單提交期間,瀏覽器將數(shù)據(jù)發(fā)送給服務(wù)器遵循以下幾點:
(1)對表單字段的名稱和值進行URL編碼,使用&分隔。
(2)不發(fā)送禁用的表單字段。
(3)只發(fā)送勾選的復(fù)選框和單選按鈕。
(4)不發(fā)送type為reset和button的按鈕。
(5)多選選擇框中的每個選中的值單獨一個條目。
(6)在單擊提交按鈕提交表單的情況下,也會發(fā)送提交按鈕;否則,不發(fā)送提交按鈕。也包括type為image的input元素。
(7)select元素的值,就是選中的option元素的value特性的值。如果option元素沒有value特性,則是option元素的文本值。
- 第一章 JavaScript簡介
- 第二章 在HTML中使用JavaScript
- 第三章 基本概念
- 第四章 變量、作用域和內(nèi)存問題
- 第五章 引用類型
- 第六章 面向?qū)ο蟮某绦蛟O(shè)計
- 第七章 函數(shù)表達式
- 第八章 BOM
- 第九章 客戶端檢測
- 第十章 DOM
- 第十一章 DOM擴展
- 第十二章 DOM2和DOM3
- 第十三章 事件
- 第十四章 表單腳本
- 第十六章 HTML5腳本程序
- 第十七章 錯誤處理與調(diào)試
- 第二十章 JSON
- 第二十一章 AJAX和Comet
- 第二十二章 高級技巧
- 第二十三章 離線應(yīng)用與客戶端存儲
- 第二十四章 最佳實踐
- 第二十五章 新興的API
