Hola,
tu mayor problema es con los eventos. En lugar de usar onclick usa onsubmit; o sea, cambia
Código HTML:
<form method="post" name="insert_intro" action="libro_devisitas.php" enctype="multipart/form-data">
...
<input name="submit" type="button" value="Publicar" onClick="javascript:validarcaracteres();" />
por
Código HTML:
<form method="post" name="insert_intro" action="libro_devisitas.php" enctype="multipart/form-data" onsubmit="javascript:return validarcaracteres();" >
...
<input name="submit" type="submit" value="Publicar" />
y en el javascript
:
Código:
function validarcaracteres(){
var field1 = document.insert_intro.nombre;
var field2 = document.insert_intro.texto;
var field3 = document.insert_intro.email;
var field4 = document.insert_intro.foto;
...
//document.insert_intro.submit(); <-- quita esto
return true; //<-- pon esto en su lugar
}
Tal vez tengas que usar la función document.getElementById().
Por cierto,
Panino5001 tiene razón. Si en verdad alguien te está atacando, validar la forma solamente con JavaScript va a hacer que se muera de la risa. Necesitas validar desde tu lenguaje de servidor (en este caso PHP) para protegerte por completo.
saludos