El primero no te funcionaba porque el concepto no está bien.
El document.write que pones se ejecuta la primera vez que entras a la página web,
no cuando envias el formulario. Si lo que quieres es cambiar el html, tienes que utilizar las funciones javascript para el manejo del DOM.
Lo puedes hacer con javascript normal o utilizar un framework javascript como
JQuery: http://jquery.com/
Ejemplo en vivo en esta página: http://jsfiddle.net/alexg88/c2hYr/
y aquí:
Código HTML:
Ver original validacion - formularios
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.js" /> <script language="javascript"> $("form[name='formulario']").submit(function(){
if($("#nombre").val()=="")
{
$('#nombre').after('
<span class="error">Este campo no puede estar vacio
</span>');
return false;
}
});
<form name="formulario" method="post"> <input name="nombre" id="nombre" type="text"> <input type="submit" value="enviar">
Espero que te sirva