我正在努力验证我的网站,以解决其在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>
<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>
<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>