这里是表单考证的第一课:重要解说有关表单的基础学问。
关于表单考证的更多学问能够参考《javascript高等程序设计》之第14章:表单剧本
1.表单事宜
submit():提交表单
reset():将一切表单域重置为默许值
(1).取得form元素的援用
(1)var form=document.getElementById('form1');
(2)var form=document.getElementByTagName('form1');
(3)var forms=document.forms//取得页面中一切表单
var form=document.forms[0]//取得页面中第一个表单
var form=document.forms['form2'//取得页面中name="form2"的表单
(2).提交表单
<!--通用提交按钮-->
(1)<input type="submit" value='提交'>
<!--自定义提交按钮-->
(2)<button type="submit">提交</button>
<!--图象按钮-->
(3)<input type="image" src="graph.gif">
以上体式格局提交表单时,浏览器会在将要求发送给服务器之前会触发submit事宜。如许我们就有时机考证表单数据,并据以决议是不是许可表单提交。
在编写表单提交代码之前,我们须要先相识一下浏览器兼容代码,代码文件EventUtil.js内容就宣布在我的文章里,有兴致的能够拿来好好读一读,这里不再论述,直接运用。
下面代码会阻挠表单提交:
var form=document.getElementById('myForm);
EventUtil.addHandler(form,'submit',function(event){
//取得时候对象
var event=EventUtil.getEvent(event);
//阻挠默许事宜
EventUtil.preventDefault();
})
注重:
var form=document.getElementById('myForm);
form.submit();
以这类体式格局提交表单,不会触发submit事宜。
(3)重置表单
<!--通用提交按钮-->
(1)<input type="reset" value='提交'>
<!--自定义提交按钮-->
(2)<button type="reset">提交</button>
下面代码会阻挠表单重置:
var form=document.getElementById('myForm);
EventUtil.addHandler(form,'reset',function(event){
//取得时候对象
var event=EventUtil.getEvent(event);
//阻挠默许事宜
EventUtil.preventDefault();
})
注重:
var form=document.getElementById('myForm);
form.reset();
与submit事宜差别,以这类体式格局提交表单,将会触发reset事宜。
2.表单字段
能够像接见页面中其他元素一样,运用原生DOM要领接见表单元素。另外,每一个表单都有Elements属性,该属性是表单中一切表单元素(字段)的鸠合。这个elements是有序表,个中包括着表单中的一切字段,比方:<fieldset>、<input>、<textarea>、<select>。每一个表单字段在elements鸠合中涌现的递次与它们涌现在标记中的递次雷同,能够根据位置和name属性来接见到。
var form=document.getElementById('myForm);
var filed1=form.elements[0];//取得表单中的一个字段
var filed2=form.element['textbox'];//取得表单中名为textbox的字段
var len=form.elements.length;//取的表单中包括的字段的数目
另有focus()和blue()要领 :
form.elements[0].focus(): 表单字段猎取核心
form.elements[0].blur():表单字段猎取核心
共有的表单属性:
disabled:布尔值,示意当前表单是不是被禁用
form:指向当前字段所属表单的指针
name:当前字段的称号
type:当前字段的范例
value:当前字段将别提交给服务器的值
另外另有:readOnly、tabIndex
<script type="text/javascript">
EventUtil.addHandler(form,'submit',function(event){
//猎取目的元素
var event=EventUtil.getEvent(event);
var target=EventUtil.getTarget(event);
//猎取提交按钮
var btn=target.element['submit-btn'];
//禁用提交按钮
btn.disabled=true;
});
</script>
3.共有的表单字段要领:
focus:当前字段取得核心时触发
blur:当前字段落空核心时触发
change:在它们落空核心而且value值发生变化时触发
关于<input> <textarea>元素,当它们从取得核心到落空核心且value值转变时,才会触发change。关于<select>元素,只需用户挑选了差别的选项,就会触发change事宜。