當達到輸入長度時表單自動切換焦點

2022-10-06 21:45:24 字數 1885 閱讀 5923

有時候會遇到和上面類似的表單字段。我們可以給每個字段限制輸入長度,當達到輸入長度時自動切換焦點,以增強表單的易用性

複製** **如下:

複製** **如下:

(function ()

break;

} }

} }

var textbox1 = document.getelementbyid("txt1");

var textbox2 = document.getelementbyid("txt2");

var textbox3 = document.getelementbyid("txt3");

textbox1.addeventlistener("keyup", tabforward, false);

textbox2.addeventlistener("keyup", tabforward, false);

textbox3.addeventlistener("keyup", tabforward, false);

})();

**其實很簡單,判斷輸入字串長度是否和www.cppcns.com事件目標的maxlength屬性長度相等,若相等,且表單還有下乙個字段,則自動切換到下乙個焦點。

簡單說下兩個屬性:

target.form form屬性指向當前字段所屬表單的指標,它是唯讀的

form.elements elements屬性是表單中所有表單元素(字段)的集合。這個elements集合是乙個有序列表,其中包含著表單中的所有字段,例如、、和。每個表單字段在elements集合中的順序,與他們出現在標記中的順序相同,可以按照位置和name特性來訪問它們。例如:

複製** **如下:

var form = document.getelementbyid("myform");

var textbox1 = form.elements[0];

var textbox2程式設計客棧 = form.elements["tel2"]

最後,我們再來看看上面的**,發現它還存在一些問題,比如這段**

複製** **如下:

var textbox1 = document.getelementbyid("txt1");

var textbox2 = document.getelementbyid("txt2");

var textbox3 = document.getelementbyid("txt3");

textbox1.addeventlistener("keyup", tabforward, false);

textbox2.addeventlistener("keyup", tabforward, false);

textbox3.adde程式設計客棧ventlistener("keyup", tabforward, false);

發現沒有,我們給每個字段新增了相同的事件處理程式。如果在複雜的web應用程式中,對每個元素都採用這種方式,那麼結果就會有數不清的**用於新增事件處理程式。此時,可以利用事件委託來解決這個問題

其他**不變,將上面六行**換為下面的兩行會得到相同的結果,是不是感覺好多了呢

複製** **如下:

var form = document.getelementbyid("myform");

form.addeventlistener("keyup", tabforward, false);

那什麼又是事件委託呢,簡單說下原理,詳細內容這裡不解釋

事件委託利用了事件冒泡,只指定乙個事件處理程式,就可以管理某一型別的所有事件。比如,這裡的keyup事件,只需給form元素指定乙個onkeyup事件處理程式,而不必給每個字段新增事件

本文標題: 當達到輸入長度時表單自動切換焦點

本文位址:

Oracle 當輸入引數允許為空時

場景 有乙個儲存過程p test 帶有多個輸入引數code name number p test code in varchar2,namein varchar2,number in varchar2,resultlist out sys refcursor 但是業務上要求這三個引數都允許為空,也就...

Oracle 當輸入引數允許為空時

場景 有乙個儲存過程p test 帶有多個輸入引數code name number p test code in varchar2,namein varchar2,number in varchar2,resultlist out sys refcursor 但是業務上要求這三個引數都允許為空,也就...

當資料長度過大時,出現滾動條

當內容超出div時,自動出現滾動條的條件 內容必須在div中 div要設定寬高 overflow設定為auto overflow auto 當內容寬度超出div寬度,或者內容高度超出div寬度,或者同時超出,會自動出現水平 或者垂直 或者水平和垂直滾動條。overflow x auto 當內容寬度超...