ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
1.form元素对应的HTMLFormElement对象特有的属性和方法(部分): (1)elements:表单中所有控件的集合(HTMLCollection) (2)reset():将表单域重置为默认值 (3)submit():提交表单 2.提交表单时,浏览器会在将请求发送前触发submit事件。阻止这个事件的默认行为就可以取消表单提交。在Javascript中,以编程方式调用submit()方法也可以提交表单。而且,这种方式不许表单包含提交按钮,但值得注意的是以此种方式提交表单时,不会触发submit事件。 3.解决重复提交表单的办法有两种:在第一次提交表单后禁用提交按钮;或者利用onsubmit事件处理程序取消后续的表单提交操作。 4.使用type特性值为『reset』的<input>和<button>都可以创建重置按钮。JS同样可以执行此操作,但与提交表单不同的是,JS调用reset()方法重置表单是会触发reset事件的。 5.表单控件元素共有的属性如下: (1)disabled:布尔值,表示当前字段是否被禁用。 (2)form:指向当前字段所属表单的指针;只读。 (3)name:当前字段的名字。 (4)readOnly:布尔值,表示当前字段是否只读。 (5)tabIndex:表示当前字段的切换序号。 (6)type:当前字段的类型。 (7)value:当前字段将被提交给服务器的值。 除了form属性之外,可以通过JS动态修改其他任何属性。 6.表单控件元素共有的方法如下: (1)focus:用于将浏览器的焦点设置到表单字段。(不能设置到隐藏的元素中) (2)blur 7.表单控件元素共有的事件如下: (1)blur (2)change:对于\<input\>和<textarea>元素,在它们失去焦点且value值改变时触发;对于\<select\>元素,,在其选项改变时触发。 (3)focus **文本框脚本** 8.\<input\>元素通过『size』特性,可以指定文本框中能够显示的字符数;而maxlength特性则用于指定文本框可以接受的最大字符数。 9.<textarea>元素通过『rows』特性指定多行文本框的字符行数,使用『cols』特性指定多行文本框的字符列数。<textarea>的初始值要放在<textarea>和</textarea>之间。不能在HTML中给多行文本框指定最大字符数。 10.不建议使用标准DOM方法中的setAttribute/getAttribute设置/获取文本框的值,也不要去修改textarea的第一个子节点。因为对value属性所作的修改,不一定会反映在DOM中。应使用以下方法: ~~~ var textarea1 = document.getElementById('textarea-1'); textarea1.value = 'ken chung'; ~~~ 11.单行与多行文本框都支持select()方法,用于选择文本框中的所有文本。调用这个方法时大多数浏览器都会将焦点设置到相应文本框中。这个技术可以让用户不必一个个地删除文本,大幅提高了表单的易用性。 12.selectionStart和selectionEnd保存着基于0的数值,表示所选择文本的范围,配合substring()方法可以方便得取得用户在文本框中选择的文本。 13.setSelectionRange()方法可以选择文本框的部分内容,这在实现高级文本输入框时很有用,例如提供自动完成建议的文本框。 14.过滤输入(屏蔽字符输入、操作粘贴板) 15.在用户填写完当前字段时,自动将焦点切换到下一个字段,可以增强表单字段的易用性。 **选择框脚本** 16.选择框控件(select)共有的属性: (1)multiple:布尔值,表示是否允许多项选择;等价与HTML中的multiple特性。 (2)options:控件中所有option元素的HTMLCollection。 (3)selectedIndex:基于0的选中项的索引,如果没有选中项,则值为-1.对于支持多选的控件,只保存选项中第一项的索引。 (4)size:选择框中可见的行数;等价于HTML中的size特性。 17.选择框控件(select)共有的方法: (1)add(newOption,relOption):向控件中插入新option元素,其位置在相关项之前。 (2)remove(index):移除给定位置的选项。 18.option元素对应对象的属性: (1)index:当前选项在options集合中的索引。 (2)label:当前选项的标签,;等价于HTML中的label特性。 (3)selected:布尔值,表示当前选项是否被选中。 (4)text:选项的文本。 (5)value:选项的值;等价于HTML中的value特性。 同样不推荐使用标准DOM方法修改option元素对象的属性。 19.选择框控件的change事件与其他表单字段的change事件触发条件不一样。其他表单字段的change事件是在值被修改切焦点离开当前字段时触发,而选择框的change事件只要选中了选项就会触发。 20.在JavaScript中,可以利用表单字段的type属性,连同name和value一起实现对表单的序列化。 21.表单提交期间,浏览器将数据发送给服务器遵循以下几点: (1)对表单字段的名称和值进行URL编码,使用&分隔。 (2)不发送禁用的表单字段。 (3)只发送勾选的复选框和单选按钮。 (4)不发送type为reset和button的按钮。 (5)多选选择框中的每个选中的值单独一个条目。 (6)在单击提交按钮提交表单的情况下,也会发送提交按钮;否则,不发送提交按钮。也包括type为image的input元素。 (7)select元素的值,就是选中的option元素的value特性的值。如果option元素没有value特性,则是option元素的文本值。