第十四章 表单脚本
1、通过getElementBy**可以获得<form>元素,或者通过document.forms可以取得页面中所有的表单,可以通过数值索引或者name值取得特定的表单。
2、提交表单时,浏览器会在将请求发送到服务器之前触发submit事件,这样我们就有机会验证表单数据,并决定是否允许表单提交。阻止这个事件的默认行为就可以取消表单提交。
3、在JS中,以编程方式调用submit()方法也可以提交表单。不会触发submit事件。
4、点击重置按钮重置表单时,会触发reset事件。可以在必要时取消重置。(比如弹出confirm对话框,点击取消的话就阻止默认行为)
5、可以调用reset()方法重置,会触发reset事件。
6、每个表单都有elements属性,是表单中所有表单元素的集合,顺序与出现在标记中的顺序相同。
7、共有的表单字段事件:blur,change,focus。对于input和textarea元素,当它们从获得焦点到失去焦点且value值发生变化时,才会触发change事件,对于select元素,只要选择了不同的选项,就会触发change事件,即不失去焦点也会触发change事件。
8、关于blur和change的关系,没有严格的规定,有些浏览器中blur会先于change事件发生,而有些浏览器中相反。
9、input元素的size特性能够指定显示的字符数,value设置初始值,maxlength指定可以接受的最大字符数。
10、textarea元素使用rows和cols指定文本框的大小。与input不同的是,初始值要放在标签中间,另一个不同是不能在HTML中给textarea元素指定最大字符数。
11、select()方法选择文本框中的所有文本。
12、select事件,在选择了文本框中的文本时,就会触发select事件,大部分浏览器在选择了文本并释放鼠标后才会触发,IE8之前不释放鼠标也会触发。
13、取得用户在文本框中选择的文本:
function getSelectedText(textbox){
if(typeof textbox.selectionStart=="number"){
return textbox.value.substring(textbox.selectionStart,textbox.selectionEnd);
}else if(document.selection){//IE8及之前
return document.selection.createRange().text;
}
}