
Aggiungere dinamicamente oggetti a una pagina HTML in JavaScript
Per aggiungere dinamicamente oggetti a una pagina HTML si possono usare le istruzioni createElement. 
Ad esempio se voglio creare dinamicamente il seguente codice html:
    Ad esempio se voglio creare dinamicamente il seguente codice html:
HTML
<div>Prova: <input type="button" value="OK" onclick="SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.OK, 'test1')" /></div>
JavaScript
var htmlElement = document.createElement('div');
var lbl = document.createTextNode('Prova: ');
htmlElement.appendChild(lbl);
var btnOK = document.createElement('input');
btnOK.setAttribute("type", "button");
btnOK.value = "OK";
btnOK.setAttribute("onclick","SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.OK, 'test1')");
htmlElement.appendChild(btnOK);
JavaScript
var options = { 
  title: 'prova',
  html: htmlElement,
  width: 700,
  height: 700,
  showClose: true,
  dialogReturnValueCallback: function(dialogResult, returnValue) {
    if (dialogResult == SP.UI.DialogResult.OK) {
      alert(returnValue);
    }  
  }   
};   
SP.UI.ModalDialog.showModalDialog(options); 
JavaScript
var template = $('<div>Prova: <input type="button" value="OK" onclick="SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.OK, \'test1\')" /></div>');
var htmlElement = template[0]
HTML
<div id="popup-template" style="display:none;">
  <div>
    Text to search: <input type="text" id="popup-search-text" style="width: 100px" /> <input type="button" value="search" onclick="popupDoSearch()" />
  </div>
	
  <div id="popup-search-results"></div>		
</div >
nota l'attributo display:none
e successivamente lo recupero in JavaScriptJavaScript
var popupTemplate = $("#popup-template").clone().show();
htmlElement = popupTemplate[0];
var options = { 
  title: 'prova',
  html: htmlElement,
  width: 700,
  height: 700,
  showClose: true,
  dialogReturnValueCallback: function(dialogResult, returnValue) {
    if (dialogResult == SP.UI.DialogResult.OK) {
      alert(returnValue);
    }  
  }   
};