我正在努力验证我的网站,以解决其在IE上显示不正确的问题,并且出现错误:document type does not allow element "script" here。这是因为我将<script>标记放在了我的javascript下拉菜单表单的<select>标记内。

有什么办法可以验证这个?或任何解决方法?

有问题的网站是Blue Devil Books

具体的代码片段是:

<noscript>This site requires that Javascript is enabled on your browser!</noscript>
<select name="CLASS"><script type="text/javascript">dynlist.printOptions("CLASS")</script>
</select>&nbsp;
<select name="SEC"><script type="text/javascript">dynlist.printOptions("SEC")</script>
</select>

<input type="submit" value="Search" />
</form></div></div>

最佳答案

将脚本完全置于选择之外,然后使用innerHTML修改其内容。下面的示例假设两件事:

1)select元素的名称始终与传递给printOptions的变量相同,例如如果名称为“ CLASS”,则内容应为printOptions(“ CLASS”)

2)printOptions应该替换为options,方法是相同的方法,只是不打印选项而是返回它们。

<noscript>This site requires that Javascript is enabled on your browser!</noscript>
<select name="CLASS"></select>&nbsp;
<select name="SEC"></select>

<input type="submit" value="Search" />
</form></div></div>

<script type="text/javascript">
    var selects = document.getElementsByTagName("select")
    for (i = 0; i < selects.length; i++) {
        var name = selects[i].getAttribute("name");
        var options = dynlist.options(name);
        selects[i].innerHTML = options;
    }
</script>

09-25 12:41