2014-01-08 4 views
0

Я уже несколько дней царапаю себе голову этим, и я не могу найти какое-либо решение для этого онлайн или даже с профессором.Javascript для создания нового содержимого XHTML

Я работаю над системой, которая требует, чтобы некоторые страницы могли динамически генерировать новый HTML-контент во время работы (веб-проект JSF, работающий на сервере glassfish4) Я нашел некоторые ресурсы о том, как это сделать, но это только работал при работе на стандартной 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 работает в сервере и производит вывод HTML, основанный на исходном коде XHTML и отправляет вывод HTML клиенту (WebBrowser). JavaScript работает на клиенте и работает над деревом HTML DOM, созданным на основе источника HTML, полученного с сервера. Подумайте об этом некоторое время, пока не получите прилив адреналина, когда вы, наконец, действительно поймете что-нибудь. Это веб-разработка 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 чувствителен к регистру, поэтому ваш источник содержит неизвестный элемент '

Смежные вопросы