Hola a todos,
Estoy haciendo un formulario en el que compruebo si se insertan bien los campos y quiero que me muestre los alert en la misma pagina 1, sin que se me cargue en otra pagina 2.
el codigo es este:
Código:
<html>
<head>
<script type="text/javascript" language="javascript" src="jquery-1.3.min.js"></script>
<title>revistas</title>
<script>
function comprobarCampos(){
//Declaracion de variables
autor = document.publicaciones.autor.value
titulo = document.publicaciones.titulo.value
if (autor==false){
alert ("Rellene el campo autor de la revista. Sin son varios, separdos por coma. \n Ejemplo: Autor1, Autor2.")
document.publicaciones.autor.focus();
return false;
}
if (titulo==false){
alert ("Rellene el campo titulo con el titulo del revista")
document.publicaciones.titulo.focus();
return false;
}
return confirm("Se van a enviar los datos ¿Desea continuar y realizar la publicación en el Portal Web?");
}
/********Validamos el texto mientras el usuario esta introduciendo los datos*********/
function validar_texto(e)
{
tecla = (document.all) ? e.keyCode : e.which;
//Tecla de retroceso para borrar, siempre la permite
if (tecla==8) return true;
// Patron de entrada, en este caso solo acepta letras y espacios
patron =/[A-Z a-z]/;
tecla_final = String.fromCharCode(tecla);
return patron.test(tecla_final);
}
/**************Validamos que sea numeros y letras.************/
function validar_texto_y_numeros(e)
{
tecla = (document.all) ? e.keyCode : e.which;
//Tecla de retroceso para borrar, siempre la permite
if (tecla==8) return true;
// Patron de entrada, en este caso solo acepta letras y numeros
patron = /[- \d]/;
tecla_final = String.fromCharCode(tecla);
return patron.test(tecla_final);
}
/**********Validamos solo numeros.*********************/
function validar_numeros(e)
{
tecla = (document.all) ? e.keyCode : e.which;
//Tecla de retroceso para borrar, siempre la permite
if (tecla==8) return true;
// Patron de entrada, en este caso solo acepta letras y numeros
patron = /\d/;
tecla_final = String.fromCharCode(tecla);
return patron.test(tecla_final);
}
</script>
</head>
<body>
<?php
$language = 'spa';
echo" <br><h3>Formulario de Publicaciones</h3>";
?>
<form name="publicaciones" id="estiloForm" action="insertar.php" method="post">
<TABLE align="center" border=0>
<TR><TD><b>Autores*: <b></TD><TD> <input type="text" name="autor" size="65" onkeypress="return validar_texto(event)" title="Introduzca los autores separados por comas"/></TR></TD>
<TR><TD><b>Título*: <b></TD><TD> <input type="text" name="titulo" size="65" onkeypress="return validar_texto(event)" title="Introduzca el título"/></TR></TD>
</TABLE>
<INPUT TYPE="reset" VALUE="Reset" >
<INPUT TYPE="submit" onclick="comprobarCampos(); validar_texto(e); validar_texto_y_numeros(e); validar_numeros(e);" VALUE="Enviar">
</form>
<?php
//Recogemos las variables, por el método POST
$autor=$_POST['autor'];
$titulo=$_POST['titulo'];
//Recorte de los espacios en blanco que puedan tener delante o detrás
$autor=trim($autor);
$titulo=trim($titulo);
//se comprueba que existen los campos obligatorios del formulario
if(!$autor || !$titulo )
{
echo "Porfavor, Rellene todos los campos obligatorios del formulario";
exit;
}
//Escapamos los caracteres
$autor=addslashes($autor);
$titulo=addslashes($titulo);
include('conexion_base_datos.php');
//Creamos la consulta correspondiente
$query="insert into publica values ('$autor','$titulo')";
$result=mysql_query($query);//Enviamos esa consulta a gestor de BD
if ($result){
echo"El nuevo revista ha hecho entrada en la base de datos.";
}else {
echo "Error Ha introducido algún campo erróneo.";
}
?>
</body>
</html>
he provado a poner en action="#" pero se me va a mi pagina de inicio..
como podria solucionarlo?