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");
}
}
通過對錶單元素的引用來訪問表單的屬性,你可以寫一個不包含硬程式碼的函式來引用這個頁面中任何一個有特定名的表單。這是一個非常好的做法,因為函式變得可重用。相關文章
- 文件驅動 —— 表單元件(一):表單元素元件元件
- form表單元素測試(checkbox和radio)ORM
- HTML表單元素及CSSHTMLCSS
- javascript表單驗證JavaScript
- JavaScript 表單驗證JavaScript
- 012---表單、下拉選單和表單域
- form表單的元素及方法ORM
- JavaScript 表單、物件、函式JavaScript物件函式
- meta生成器 —— 表單元素元件元件
- Angular8 form 表單對隱藏元素取消表單校驗規則AngularORM
- 智雲通CRM:如何做到正確地逼單?
- HTML表單及CSS選擇器、偽類和偽元素HTMLCSS
- Vue表單和元件Vue元件
- 表單識別:準確快速實現紙質表格表單的電子化
- JavaScript表單不為空驗證JavaScript
- 正整數表單校驗規則
- Html/CSS07(佈局,引入,表單元素)HTMLCSS
- PbootCMS使用者提交表單和調取表單記錄boot
- 表單和v-model
- 事件 滑鼠事件 表單事件 from表單事件
- JavaScript 表單驗證程式碼例項JavaScript
- 表單識別:自定義表單模板快速完成表單電子化
- form表單元素名稱兩端對齊代ORM
- Vue表單和v-modelVue
- 自定義表單 動態表單 表單設計器 流程引擎 設計方案
- 提交表單
- 重置表單
- Flask表單Flask
- angular - 表單Angular
- Django——表單Django
- JavaScript 點選回車驗證提交表單JavaScript
- javascript表單賬戶密碼校驗提交JavaScript密碼
- 單例模式的正確寫法單例模式
- jQuery Validate自定義表單元素驗證通過和不通過的樣式jQuery
- React使用ProComponent建立表單和列表React
- 工作流Activiti框架中表單的使用!詳細解析內建表單和外接表單的渲染框架
- jQuery獲取表單值及幾個表單事件jQuery事件
- elementui表單驗證 對比兩個表單大小UI
- DcatAdmin 擴充套件: 自定義表單(動態表單)套件