为什么这个javascript在Chrome中执行,而不是在Firefox中执行?

为什么这个javascript在Chrome中执行,而不是在Firefox中执行?,javascript,eclipse,firefox,Javascript,Eclipse,Firefox,我需要将“cmd”隐藏文本设置为以下值。Chrome执行这个脚本,但Firefox(至少3.6版)不执行 我已经检查了firefox中的java,以及“执行javascript”选项。我在firefox中运行jquery的功能非常好。我该怎么办 function envia() { frm = document.forms['detalha']; tx = frm.elements("cmd"); tx.value = '0'; alert('document

我需要将“cmd”隐藏文本设置为以下值。Chrome执行这个脚本,但Firefox(至少3.6版)不执行

我已经检查了firefox中的java,以及“执行javascript”选项。我在firefox中运行jquery的功能非常好。我该怎么办

function envia() {

    frm = document.forms['detalha'];
    tx = frm.elements("cmd");

    tx.value = '0';
    alert('document pressed' + document.pressed);
    if (document.pressed == '2') {
        tx.value = '2';
    } else if (document.pressed == '3') {
        tx.value = '3';
    } else if (document.pressed == '4') {
        tx.value = '4';
    }
    return true;
}
<form name="detalha" action="/publicopj/Altera" onsubmit="envia()">

<input type="submit" value="Save" name="acao" onclick="document.pressed=3"/>
函数envia(){
frm=文件.表格['detalha'];
tx=初始元件(“cmd”);
tx.value='0';
警报(“已按下文档”+已按下文档);
如果(document.pressed==“2”){
tx.value='2';
}else if(document.pressed==“3”){
tx.value='3';
}else if(document.pressed==“4”){
tx.value='4';
}
返回true;
}

提前感谢。

文档。表单[…]。元素是数组,而不是函数。在.elements位上有
()
,试图将其作为函数调用

tx = frm.elements["cmd"];  // note the square brackets

envia()函数在哪里/如何触发?@MarcB,对不起,我忘了。我已经用“onsubmit”语句更新了上面的代码。在Firefox开发者控制台中,我看到一个错误“frm.element”不是一个函数。可能Firefox没有这种方法……更准确地说,它不是数组,应该是节点列表,尽管大多数浏览器实际上返回HTMLCollection。在Trident和其他一些浏览器中,您可以像调用函数一样调用HTMLCollection或NodeList,在本例中,它映射到
元素.item(arg)
。正如所发现的,壁虎并不支持这一点。