Saludos:
mira,this es un objeto, el cual es el objeto actual donde se utiliza, en esta parte:
Cita: <input type="text9" name="9" id="9" onBlur="validar_datos(this);">
hace referencia al objeto campo de texto "text9" que es donde esta(es como si dijeras: a esta funcion mandale "este(this)" objeto), y sirve igual que si pusieras:
validar_datos(document.form1.text9)
y en la funcion lo utilizas
campo_form.focus();
que es como si pusieras:
document.form1.text9.focus();
En cambio de la segunda forma no funciona
Cita: <form name="form1" method="post" onSubmit="validar_datos(this);>
porque estas pasando como objeto el formulario completo es decir estas pasando esto:
validar_datos(document.form1)
y cuando lo usas en la funcion logicamente tampoco funciona porque es como si estuvieras haciendo esto:
document.form1.focus();
cuando relamente quieres hacer esto:
document.form1.text9.focus();
para que te funcionara asi como lo tienes, dentro de tu funcion tendrias que posponer el nombre del campo de texto, y te quedaria:
campo_form.text9.focus();
Bueno, espero haberme explicado, si no, aqui espero tus comentarios o dudas.
Hasta luego...