javascript基础从小白到高手系列六百七十三:禁用验证

通过指定novalidate 属性可以禁止对表单进行任何验证:

这个值也可以通过JavaScript 属性noValidate 检索或设置,设置为true 表示属性存在,设置为 false 表示属性不存在: document.forms[0].noValidate = true; // 关闭验证 如果一个表单中有多个提交按钮,那么可以给特定的提交按钮添加formnovalidate 属性,指定 通过该按钮无须验证即可提交表单: 在这个例子中,第一个提交按钮会让表单像往常一样验证数据,第二个提交按钮则禁用了验证,可 以直接提交表单。我们也可以使用JavaScript 来设置这个属性: // 关闭验证 document.forms[0].elements["btnNoValidate"].formNoValidate = true; 选择框编程 选择框是使用和元素创建的。为方便交互,HTMLSelectElement 类型在所有 表单字段的公共能力之外又提供了以下属性和方法。  add(newOption, relOption):在relOption 之前向控件中添加新的。  multiple:布尔值,表示是否允许多选,等价于HTML 的multiple 属性。  options:控件中所有元素的HTMLCollection。  remove(index):移除给定位置的选项。  selectedIndex:选中项基于0 的索引值,如果没有选中项则为–1。对于允许多选的列表,始 终是第一个选项的索引。  size:选择框中可见的行数,等价于HTML 的size 属性。 选择框的type 属性可能是"select-one"或"select-multiple",具体取决于multiple 属性 是否存在。当前选中项根据以下规则决定选择框的value 属性。  如果没有选中项,则选择框的值是空字符串。  如果有一个选中项,且其value 属性有值,则选择框的值就是选中项value 属性的值。即使 value 属性的值是空字符串也是如此。  如果有一个选中项,且其value 属性没有指定值,则选择框的值是该项的文本内容。  如果有多个选中项,则选择框的值根据前两条规则取得第一个选中项的值。 来看下面的选择框: Sunnyvale Los Angeles Mountain View China Australia 如果选中这个选择框中的第一项,则字段的值就是"Sunnyvale, CA"。如果文本为"China"的项 被选中,则字段的值是一个空字符串,因为该项的value 属性是空字符串。如果选中最后一项,那么 字段的值是"Australia",因为该元素没有指定value 属性。 每个元素在DOM 中都由一个HTMLOptionElement 对象表示。HTMLOptionElement 类型为方便数据存取添加了以下属性。  index:选项在options 集合中的索引。  label:选项的标签,等价于HTML 的label 属性。  selected:布尔值,表示是否选中了当前选项。把这个属性设置为true 会选中当前选项。  text:选项的文本。  value:选项的值(等价于HTML 的value 属性)。 大多数属性是为了方便存取选项数据。可以使用常规DOM 功能存取这些信息,只是效 率比较低,如下面的例子所示: let selectbox = document.forms[0].elements["location"]; // 不推荐 let text = selectbox.options[0].firstChild.nodeValue; // 选项文本 let value = selectbox.options[0].getAttribute("value"); // 选项值 以上代码使用标准的DOM技术获取了选择框中第一个选项的文本和值。下面再比较一下使用特殊 选项属性的代码: let selectbox = document.forms[0].elements["location"]; // 推荐 let text = selectbox.options[0].text; // 选项文本 let value = selectbox.options[0].value; // 选项值 在操作选项时,最好使用特定于选项的属性,因为这些属性得到了跨浏览器的良好支持。在操作 DOM 节点时,与表单控制实际的交互可能会因浏览器而异。不推荐使用标准DOM 技术修改 元素的文本和值。 最后强调一下,选择框的change 事件与其他表单字段是不一样的。其他表单字段会在自己的值改 变后触发change 事件,然后字段失去焦点。而选择框会在选中一项时立即触发change 事件。
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值