Sam*_*hat 2 html javascript jsf
我的脚本函数是在XHTML页面上的JSF2表单中定义的,代码的以下部分会导致问题:
<script type="text/javascript">
function myFunction(){
var checkboxes = document.getElementsByName('mycheckboxes');
if(checkboxes.length > 0){
for (var i=0; i<checkboxes.length; i++){
var checkbox = checkboxes[i];
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
尝试访问FireFox 8中的页面时,它会打印异常:
元素类型"checkboxes.length"必须后跟属性规范,">"或"/>"
这个错误是什么意思?
另一个问题是:脚本是在呈现页面之前执行的吗?因为我的复选框在页面的渲染阶段(使用JSF <ui:repeat>)加载到页面中,所以我的猜测是,当变量复选框不为空时,我必须创建条件来执行代码,我是对的吗?
看起来您正在使用XHTML并在页面中嵌入脚本.
XML没有内在的CDATA部分,因此<即使在脚本元素内也意味着"标记的开始".
如果您使用的是真正的XHTML,那么您可以将其表示为<,但是您无法将文档作为text/html.
相反,您可以使用规范中描述的显式CDATA部分包装脚本内容,同时还要注意遵循相关的text/html兼容性指南.
你可能最好将脚本保存在外部文件中并加载它<script src="..."></script>.
就此而言,您可能最好使用HTML而不是编写XHTML,然后跳过箍,使其在期望HTML的浏览器中工作.
| 归档时间: |
|
| 查看次数: |
16864 次 |
| 最近记录: |