gpt4 book ai didi

javascript - 两个相同的 javascript 代码以不同的方式表现(在不同的浏览器中)

转载 作者:行者123 更新时间:2023-11-30 13:32:09 25 4
gpt4 key购买 nike

我有一个名为 frmOrderReschedule 的表单和一个隐藏元素 frmOrderReschedule。我试图以这种方式访问​​它-

document.frmOrderReschedule.newSalesOrderNumber.length

它给了我错误 document.frmOrderReschedule.newSalesOrderNumber.length is undefined,但是当我以休闲方式尝试时它工作正常

document.getElementsByName('newSalesOrderNumber').length;  

这仅在 Mozila 中发生。任何人都可以对此有所了解,为什么会这样发生。提前致谢!!!

最佳答案

根据您的评论,我推断该字段可以出现一次或多次。在这种情况下,document.frmOrderReschedule.newSalesOrderNumber(或 document.forms["frmOrderReschedule"].elements["newSalesOrderNumber"])可以返回不同的类型。

如果有多个控件,它将返回一个集合,该集合将具有length 属性。如果只有一个控件,那么它将返回对该控件的直接引用,显然,它没有长度。这意味着,如果您使用该语法,则需要区分两种变体(或者甚至三种变体,以防该字段不存在):

var x = document.forms["frmOrderReschedule"].elements["newSalesOrderNumber"];
if (x) {
if (x.length) {
alert("There are " + x.length + " controls.")
} else {
alert("One control with value: " + x.value);
}
} else {
alert("None");
}

工作示例:http://jsfiddle.net/H4Lks/1/

document.getElementsByName('newSalesOrderNumber') 另一方面,总是 返回一个集合,即使没有或没有,所以它总是有一个 长度

关于javascript - 两个相同的 javascript 代码以不同的方式表现(在不同的浏览器中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6341601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com