创建表单元素是为了满足用户向服务器发送数据的需求。Web表单使用HTML的等元素。用这些元素,浏览器可以渲染文本框、组合框以及其他输入控件,来实现客户端与服务器端之间的通信。Web已经发展的很快了,而web表单基本上没有变化。尽管一种新的XForm的标准正在兴起,但还没有任何浏览器去进一步支持它,所以现在的web表单要依赖Javascript来增加其内置的行为。
focusOnFirst()——焦点显示到页面中第一个表单控件上。
setTextboxes()——input、textarea在获得焦点时,选中其中文字。
tabForward()——按TAB键,焦点到下一个表单控件上。
Code
var FormUtil = new Object;
FormUtil.focusOnFirst = function () {
if (document.forms.length > 0) {
for (var i=0; i < document.forms[0].elements.length; i++) {
var oField = document.forms[0].elements[i];
if (oField.type != "hidden") {
oField.focus();
return;
}
}
}
};
FormUtil.setTextboxes = function() {
var colInputs = document.getElementsByTagName("input");
var colTextAreas = document.getElementsByTagName("textarea");
for (var i=0; i < colInputs.length; i++){
if (colInputs[i].type == "text" || colInputs [i].type == "password") {
colInputs[i].onfocus = function () { this.select(); };
}
}
for (var i=0; i < colTextAreas.length; i++){
colTextAreas[i].onfocus = function () { this.select(); };
}
};
FormUtil.tabForward = function(oTextbox) {
var oForm = oTextbox.form;
//make sure the textbox is not the last field in the form
if (oForm.elements[oForm.elements.length-1] != oTextbox
&& oTextbox.value.length == oTextbox.maxLength) {
for (var i=0; i < oForm.elements.length; i++) {
if (oForm.elements[i] == oTextbox) {
for(var j=i+1; j < oForm.elements.length; j++) {
if (oForm.elements[j].type != "hidden") {
oForm.elements[j].focus();
return;
}
}
return;
}
}
}
};