Cita:
Iniciado por jmagago84
Muchas gracias por tu respuesta, pero ¿¿es posible hacerlo sin introducir ningún div, es decir, haciendo que en vez de colocarse los nuevos elementos al final del body, que se coloquen siempre antes de los botones???
De todas formas voy a probar la que me has dicho
Gracias!!

Si, si. Es posible.
Código HTML:
<html>
<head>
<script type="text/javascript">
function masCampos()
{
var mas = document.getElementById("mas");
var form = document.getElementById("form");
var labelFoto = document.createElement("label");
var textFoto = document.createTextNode("Nombre foto:");
labelFoto.appendChild(textFoto);
form.insertBefore(labelFoto,mas);
var input = document.createElement("input");
form.insertBefore(input,mas);
var p1 = document.createElement("p");
form.insertBefore(p1,mas);
var labelDescripcion = document.createElement("label");
var textLabel = document.createTextNode("Descripción");
labelDescripcion.appendChild(textLabel);
form.insertBefore(textLabel,mas);
var textArea = document.createElement("textarea");
form.insertBefore(textArea,mas);
var p2 = document.createElement("p");
form.insertBefore(p2,mas);
}
</script>
</head>
<body>
<form id="form" action="prueba.asp" method="post">
<p>
<label id="foto" for="foto">Nombre foto:</label>
<input id="foto" name="foto" type="text" />
</p>
<p>
<label id="texto" for="texto">Descripción:</label>
<textarea name="texto" id="texto"></textarea>
</p>
<input id="mas" value="Más pasos" type="button" onclick="masCampos()"/>
<input id="enviar" value="Enviar" type="submit"/>
</form>
</body>
</html>