Me parece que si, es realmente extraño que no funcione el tratar de ocultar los campos con type="hidden" (Por cierto nunca entendí para que servían esos datos, si pudieras aclararlo). Acerca de las sugerencias de zerokilled creo que tiene toda la razón, por lo menos en lo que respecta en presentar datos tabulados (eso resulta más sencillo) y en enviar la respuesta de la petición AJAX en formato JSON (no comente nada anteriormente, por que soy de los que piensan "el cliente siempre tiene la razón"
).
Acerca de la pregunta original, los label se pueden crear y agregar como cualquier otro elemento, aqui un ejemplo:
Código Javascript
:
Ver original<script>
function crearLabel() {
var target = document.getElementById("target"); //ubicamos el objetivo al que se va a agregar el label
var label = document.createElement("label"); //creamos el label
var text = document.createTextNode("Articulo"); //creamos el nodo de texto que contiene la descripcion
label.appendChild(text); //adherimos el texto al label
target.appendChild(label); //aderimos el label al objetivo
}
</script>
Aunque para hacerlo deberás ponerte a rediseñar como se muestran los datos, aunque insisto los consejos de zerokilled son muy buenos para ser tenidos en cuenta.