Javascript firefox不按名称获取元素
这段代码似乎不适用于Firefox,但在Chrome和IE上运行时没有任何问题:Javascript firefox不按名称获取元素,javascript,firefox,Javascript,Firefox,这段代码似乎不适用于Firefox,但在Chrome和IE上运行时没有任何问题: f = document.forms["form1"]; var nombre = f.elements.item("nombre").value; var email = f.elements.item("email").value; var coment = f.elements.item("coment").value; 与其将相应的值分配给变量,它只是对所有变量重复相同的值,因此假设输入nombre具有值
f = document.forms["form1"];
var nombre = f.elements.item("nombre").value;
var email = f.elements.item("email").value;
var coment = f.elements.item("coment").value;
与其将相应的值分配给变量,它只是对所有变量重复相同的值,因此假设输入nombre
具有值john
,email
和coment
也将具有john
,即使表单的输入框中的值不同
那么如何相应地检查这些值呢?您也可以试试
var nombre = document.getElementById.item.value; //for example
你也可以试试
var nombre = document.getElementById.item.value; //for example
这样做:
var f = document.getElementById( 'form1' );
var nombre = f.elements.namedItem( 'nombre' ).value;
var email = f.elements.namedItem( 'email' ).value;
var coment = f.elements.namedItem( 'coment' ).value;
现场演示:像这样做:
var f = document.getElementById( 'form1' );
var nombre = f.elements.namedItem( 'nombre' ).value;
var email = f.elements.namedItem( 'email' ).value;
var coment = f.elements.namedItem( 'coment' ).value;
实时演示:向我们展示一些表单的代码。向我们展示一些表单的代码。谢谢。这解决了问题,只是出于好奇,为什么m first code在firefox上不工作,但在其他浏览器上正常工作?@HectorDanielZebaduaJerez firefox没有实现
元素。项(名称)
表单。在Firefox中,您可以执行elements[name]
或elements[index]
。。。阅读此处:根据规范,项
方法采用整数。因此,所有字符串都被转换为整数(尤其是整数0)。如果您想从form.elements
中按名称获取项目,请使用namedItem。@BorisZbarsky是的.namedItem()
而不是.item()
。但是,.elements.namedItem(name)
不是必需的,因为.elements[name]
也可以工作。@cimevidas它们实际上并不相等。例如,.elements[“length”]
将返回列表的长度,而不是名为length
的项。类似于.elements[“item”]
:将返回函数对象,而不是名为item
的元素。如果列表上设置了任何expandos,则这些操作将隐藏访问的[]
表单,而不是namedItem
表单。如果您使用的文本字符串与HTMLCollection原型链上的任何属性都不匹配(并且永远不会随着规范的变化而匹配!),并且知道没有expandos,那么[]
表单是正确的。谢谢,这解决了问题,出于好奇,为什么m first code在firefox上不工作,但在其他浏览器上正常工作?@HectorDanielZebaduaJerez firefox没有实现元素。item(name)
表单。在Firefox中,您可以执行elements[name]
或elements[index]
。。。阅读此处:根据规范,项
方法采用整数。因此,所有字符串都被转换为整数(尤其是整数0)。如果您想从form.elements
中按名称获取项目,请使用namedItem。@BorisZbarsky是的.namedItem()
而不是.item()
。但是,.elements.namedItem(name)
不是必需的,因为.elements[name]
也可以工作。@cimevidas它们实际上并不相等。例如,.elements[“length”]
将返回列表的长度,而不是名为length
的项。类似于.elements[“item”]
:将返回函数对象,而不是名为item
的元素。如果列表上设置了任何expandos,则这些操作将隐藏访问的[]
表单,而不是namedItem
表单。如果您使用的文本字符串与HTMLCollection原型链上的任何属性都不匹配(而且永远不会随着规范的变化而匹配!),并且知道没有expandos,那么[]
表单是正确的。