之前,我们介绍过:javascript共有的表单事件一文,今天介绍下javascript共有的表单字段属性,供大家学习参考。
除了<fieldset>元素之外,所有表单字段都拥有相同的一组属性。
由于<input>类型可以表示多种表单字段,因此有些属性只适用于某些字段,但还有一些属性是所有字段共有的。
javascript表单字段共有的属性和方法:
除了form属性之外,可以通过JavaScript动态的修改其它任何属性。
例子:
能够动态修改表单字段属性,则可以在任何时候,以任何方式来动态操作表单。
例如,很多用户可能会重复单击表单的提交按钮。
在涉及信用卡消费时,这就是个问题:因为会导致费用翻倍。
为此,最常见的解决方案,就是在第一次单击后就禁用提交按钮。
只要侦听submit事件,并在该事件发生时禁用提交按钮即可。
例子:
以上代码为表单的submit事件添加了一个事件处理程序。
事件触发后,代码取得了提交按钮并将其disabled属性设置为true。
注意,不能通过onclick事件处理程序来实现这个功能,原因是不同浏览器之间存在“时差”:有的浏览器会在触发表单的submit事件之前触发click事件,而有的浏览器则相反。对于先触发click事件的浏览器,意味着会在提交发生之前禁用按钮,结果永远都不会提交表单。
因此,最好是通过submit事件来禁用提交按钮。
不过,这种方式不适合表单中不包含提交按钮的情况;如前所述,只有在包含提交按钮的情况下,才有可能触发表单的submit事件。
除了<fieldset>之外,所有的表单字段都有type属性。
对于<input>元素,这个值等于HTML特性type的值。
对于其它元素,这个type属性的值如下图所示: