【发布时间】:2016-10-05 04:35:00
【问题描述】:
假设我有一个表单,其中包含两个同名“question1”的单选按钮。还有另一个名称为“question2”的文本输入。我想要最有效的方法来检查两个输入是否都已填充,因此我需要一些可以访问这些输入值的代码。
这条线适用于大多数浏览器,但微软的浏览器,因为它们有一个愚蠢的 HTMLCollection 层:
var val1 = document.forms[0].elements['question1'].value // undefined in Microsoft;
var val2 = document.forms[0].elements['question2'].value // undefined in Microsoft;
使用 querySelector,我可以做这样的事情,这将适用于 Microsoft:
document.querySelector("form input[name='question1']:checked").value;
document.querySelector("form input[name='question2']").value;
请注意,这两行是不同的。我实际上有几十个这样的问题,所以我更喜欢一段代码,它适用于所有这些问题。有没有类似于第一部分代码的微软方式?
澄清:
我想知道是否有一行代码适用于任何类型的输入。
【问题讨论】:
标签: javascript internet-explorer microsoft-edge