Javascript Web浏览器脚本不起作用

问题描述

| Internet Explorer 7无法正确处理按钮,因为它发送的是“ 0”和“ 1”之间的文本,而不是数值。 (很奇怪,但确实如此。)该Javascript应该通过发送按钮
onClick
的值来纠正此问题。但这行不通。有人可以看到错误吗? 我用它来附加HTML5中的Javascript文件
<script src=\"buttonfix.js\"></script>
buttonfix.js的内容
function runonclick()
{
    var count = 0;
    var formlength = this.form.elements.length;
    while(count < formlength)
    {
        if(this.form.elements[count].tagName === \"button\")
        {
            this.value = this.attributes.getNamedItem(\"value\").nodeValue;
        }

        count++;
    }
}

function buttonfix()
{
    var buttonarray = document.getElementsByTagName(\"button\");

    var count = 0;
    var buttonarraylength = buttonarray.length;
    while(count < buttonarraylength)
    {
        buttonarray[count].onClick = runonclick();

        count++;
    }
}

window.attachEvent(\"onload\",buttonfix());
    

解决方法

        我建议您尝试:
if(this.form.elements[count].tagName.toLowerCase == \"button\");
代替:
if(this.form.elements[count].tagName == \"button\")
因为
tagName
属性通常返回大写的字符串。 另一行不起作用:
buttonarray[count].onClick = runonclick();
由于JavaScript是区分大小写的语言,因此您必须使用事件的标准名称(
onclick
)。
buttonarray[count].onclick = runonclick();
但是,您可能仍在HTML中使用ѭ2(而不是XHTML)。