Javascript 正確地引用表單和表單元素
所有的 html 表單都應該有一個 name 屬性。對於 XHTML 文件來說,name 屬性是不被要求的,但 Form 標籤中應有相應有 id 屬性,並必須用 document.getElementById() 來引用。使用像 document.forms[0] 這樣的索引方法來引用表單,在幾乎所有情況下,是一個糟糕的做法。有些瀏覽器把文件中使用 form 來命名的元素當作一個可用的 form 屬性。這樣並不可靠,不應該使用。
下面這個例子用使用方括號和正確的物件引用方法來展示如何防止錯誤地引用一個表單的input:
正確引用表單 Input:
document.forms["formname"].elements["inputname"]
糟糕的做法:
document.formname.inputname
如果你要引用一個函式裡的兩個表單元素,較好的做法是先引用這個form物件,並將其儲存在變數中。這樣避免了重複查詢以解決表單的引用:
var formElements = document.forms["mainForm"].elements;
formElements["input1"].value="a";
formElements["input2"].value="b";
當你使用
onChange 或者其他類似的事件處理方法,一個好的做法是總是通過一個引來把 input 元素本身引用到函式中來。所有 input 元素都帶有一個對包含其在內的Form表單有一個引用:
<input type="text" name="address" onChange="validate(this)">
function validate(input_obj) {
// 引用包含這個元素的form
var theform = input_obj.form;
// 現在你可以不需要使用硬程式碼來引用表單自身
if (theform.elements["city"].value=="") {
alert("Error");
}
}
通過對錶單元素的引用來訪問表單的屬性,你可以寫一個不包含硬程式碼的函式來引用這個頁面中任何一個有特定名的表單。這是一個非常好的做法,因為函式變得可重用。相關文章
- JavaScript遍歷HTML表單元素及表單定義JavaScriptHTML
- JavaScript 獲取form所有表單元素JavaScriptORM
- javascript獲取form表單中表單元素的數目JavaScriptORM
- JavaScript 表單及表單驗證JavaScript
- 文件驅動 —— 表單元件(一):表單元素元件元件
- js獲取form表單下所有表單元素JSORM
- javascript獲取所有表單元素的value值JavaScript
- 表單元素 開篇
- js獲取表單元素所在的form表單物件JSORM物件
- javascript操作表單JavaScript
- javascript提交表單JavaScript
- 如何正確地寫出單例模式單例模式
- HTML表單元素及CSSHTMLCSS
- 表單元素之下拉系
- 寫一個 iOS 複雜表單的正確姿勢iOS
- JavaScript判斷表單元素value值是否被修改過JavaScript
- JavaScript 通過 type 屬性值獲取表單元素JavaScript
- 使用javascript清空表單元素資料程式碼例項JavaScript
- javascript表單驗證JavaScript
- JavaScript 表單驗證JavaScript
- form表單的元素及方法ORM
- 第 10 章 表單元素[上]
- 第 10 章 表單元素[中]
- 第 10 章 表單元素[下]
- 表單元素之搭車系
- 012---表單、下拉選單和表單域
- JavaScript 表單、物件、函式JavaScript物件函式
- JavaScript表單驗證事件JavaScript事件
- Web 表單驗證 javascriptWebJavaScript
- 可以被提交的表單元素簡單介紹
- meta生成器 —— 表單元素元件元件
- excel圖表標題新增和引用單元格的方法Excel
- javascript實現的清空表單元素內容程式碼例項JavaScript
- PLSQL Language Referenc-巢狀表-巢狀表和陣列間的重要區別(正確地使用巢狀表)SQL巢狀陣列
- Angular8 form 表單對隱藏元素取消表單校驗規則AngularORM
- JavaScript 禁用表單 所有文字框JavaScript
- Vue表單和元件Vue元件
- jQuery如何清空表單元素的內容jQuery