js-JavaScript高级程序设计学习笔记10

时间:2023-03-08 22:49:47
js-JavaScript高级程序设计学习笔记10

第十四章 表单脚本

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;
  }
}