JS高程:读书摘要(十二)表单

一、基础

JavaScript 中,表单有它自己独有的属性和方法。

  • acceptCharset:服务器能够处理的字符集;
  • action:接受请求的URL;
  • elements:表单中所有控件的集合(HTMLCollection)。
  • enctype:请求的编码类型;
  • length:表单中控件的数量。
  • method:要发送的 HTTP 请求类型,通常是"get""post";
  • name:表单的名称;。
  • reset():将所有表单域重置为默认值。
  • submit():提交表单。
  • target:用于发送请求和接收响应的窗口名称

通过document.forms 可以取得页面中所有的表单。在这个集合中,可以通过数值索引或name值来取得特定的表单,也可以通过id、类名来获取。

提交表单




 

只要表单中存在上面列出的任何一种按钮,那么在相应表单控件拥有焦点的情况下,按回车键就可以提交该表单(textarea除外,在文本区中回车是换行),如果没有提交按钮,按回车键则不会提交表单。以这种方式提交表单时,浏览器会在将请求发送给服务器之前触发onsubmit事件。这样,我们就有机会验证表单数据,并据以决定是否允许表单提交。调用prevetnDefault()方法阻止表单提交。一般来说,在表单数据无效而不能发送给服务器时,可以使用这一技术。

JavaScript 中,以编程方式调用submit()方法也可以提交表单。form.submit();,在以调用submit()方法的形式提交表单时,不会触发onsubmit 事件,因此要记得在调用此方法之前先验证表单数据。

为避免用户多次点击按钮重复提交表单,可以在第一次提交表单后就禁用提交按钮,或者利用onsubmit 事件处理程序取消后续的表单提交操作。

重置表单




在重置表单时,所有表单字段都会恢复到页面刚加载完毕时的初始值,用户单击重置按钮重置表单时,会触发onreset事件。也可以使用编程方式来重置表单form.reset(),与调用submit()方法不同,调用reset()方法会像单击重置按钮一样触发onreset事件。

表单字段

每个表单都有elements 属性,该属性是表单中所有表单元素(字段)的集合,例如