2014-01-08 42 views
0

我一直在搔痒我的头几天,我无法找到任何解决方案,这个在线甚至与教授。Javascript生成新的XHTML内容无法正常工作

我的工作,需要一些网页是能够动态生成新的HTML内容的同时运行(glassfish4服务器上运行JSF的Web项目) 我发现如何做到这一点的一些资源,但只有它的系统上在标准HTML页面上运行时工作。当我将它转换为XHTML标准时,该函数不再生成任何东西(尽管它仍然被调用,但警告框已确认)。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html"> 
<head> 
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1"></meta> 
<title>Insert title here</title> 
</head> 
<body> 
    <SCRIPT type="text/javascript"> 
     function addQuestion() { 
      alert('yay'); 
      var exam = document.getElementById('divarea'); 
      var temp = document.createElementNS('h', 'button'); 
      temp.setAttribute('value', 'child'); 
      exam.appendChild(temp); 
     } 
    </SCRIPT> 
    <div id="divarea"> 
    </div> 
    <h:commandButton value="create new stuff" onclick="addQuestion()"/> 
</body> 
</html> 

如果有人可以对这个问题有所了解,将不胜感激。

P.S. 以下是我一直用来尝试故障排除的资源。

Converting javascript to work with XHTML

Creating elements dynamically using javascript

+0

JSF + Facelets的运行在服务器并基于XHTML的源代码的HTML输出和HTML输出发送到客户机(web浏览器)。 JavaScript在客户端运行,并在基于从服务器检索到的HTML源创建的HTML DOM树上工作。想想这个有一段时间,直到你终于明白了什么时,才会感到肾上腺素激增。这是网页开发101.同时借此机会,将鼠标光标置于问题之下的'[xhtml]'标签的顶部,直到出现黑色信息框,然后单击其中的* info *链接以获取更多信息。 – BalusC

+0

注意:对于第一个参数,您应该指定完整的命名空间URI:'document.createElementNS('http://java.sun.com/jsf/html','button')''。你可以在[MDN]上找到[很好的文档](https://developer.mozilla.org/en-US/docs/Web/API/document.createElementNS)。这不会帮助你解决你的问题,正如BalusC所说的那样。 – kapa

+1

你确定现在真的是XHTML吗? XHTML区分大小写,因此你的源代码包含一个未知元素'

相关问题