获取表单
- document.forms[0]
- document.forms["mainForm"]
- <form name="mainForm"></form>
document.forms[0] document.forms["mainForm"] <form name="mainForm"></form>
表单中元素
- document.forms[0].elements["element1"]
- document.mainForm.element1;
- <input name="element1" />
document.forms[0].elements["element1"] document.mainForm.element1; <input name="element1" />
每个表单元素都支持form属性
- this.form //指向元素所在的表单
this.form //指向元素所在的表单
访问文本域
- myform.elements["textfield"].value;
myform.elements["textfield"].value;
复选框
- myform.elements["chkbox"][i].checked? "checked":"not checked";
myform.elements["chkbox"][i].checked? "checked":"not checked";
单选框
- f.elements["radiobutton"][i].value;
- f.elements["radiobutton"][i].checked?"checked":"not checked";
f.elements["radiobutton"][i].value; f.elements["radiobutton"][i].checked?"checked":"not checked";
列表框
- var index = f.elements["selectionlist"].selectedIndex;
- //selectedIndex: 当前所选中列表项的索引(从0开始),“-1”表示未选值
- //options: 所有列表项组成的数组。
- //options[index] 选中的node
- //对于每一个option
- //selected属性,为true时表示被选中。
- //value 选中的发送数据
- //text 显示的文字
- //获取列表框当前选择的值
- f.elements["selectionList"].options[f.elements["selectionList"].selectedIndex].value
- //动态添加列表元素
- for(var i=0;i<links.length; i++){
- elements["urls"].options[elements["urls"].options.length]=new Option(links[i].title, links[i].url);
- }
var index = f.elements["selectionlist"].selectedIndex; //selectedIndex: 当前所选中列表项的索引(从0开始),“-1”表示未选值 //options: 所有列表项组成的数组。 //options[index] 选中的node //对于每一个option //selected属性,为true时表示被选中。 //value 选中的发送数据 //text 显示的文字 //获取列表框当前选择的值 f.elements["selectionList"].options[f.elements["selectionList"].selectedIndex].value //动态添加列表元素 for(var i=0;i<links.length; i++){ elements["urls"].options[elements["urls"].options.length]=new Option(links[i].title, links[i].url); }
禁用表单元素
- f.elements["password"].disabled = true; //变灰
- f.elements["password"].readOnly= true; //不变色
- <input type="text" οnfοcus="this.blur();" />
f.elements["password"].disabled = true; //变灰 f.elements["password"].readOnly= true; //不变色 <input type="text" οnfοcus="this.blur();" />
防止表单提交
- <form onsubmit="return checkform(this);">
<form οnsubmit="return checkform(this);">
防止重复提交
- <input type="submit" value="submit" onclick="this.disable=true;" />
<input type="submit" value="submit" οnclick="this.disable=true;" />
设置焦点
- document.forms[0].elements["textField"].focus();
document.forms[0].elements["textField"].focus();
选中表单域中的文本
- var field = f.elements["textField"];
- if(field.createTextRange){//IE
- var range = field.createTextRange();
- range.moveStart("character",0);
- range.moveEnd("character",field.value.length-1);
- range.select();
- }else if(field.setSelectionRange){//Other brower
- field.setSelectionRange(0.field.value.length);
- }
- field.focus();
var field = f.elements["textField"]; if(field.createTextRange){//IE var range = field.createTextRange(); range.moveStart("character",0); range.moveEnd("character",field.value.length-1); range.select(); }else if(field.setSelectionRange){//Other brower field.setSelectionRange(0.field.value.length); } field.focus();
获取元素的表单域类型
- element.type
- //所有元素的type属性都可以返回相应的表单域类型: button, checkbox, password, radio, reset, select-one, select-multiple, submit, text, textarea