Foros del Web » Programando para Internet » Javascript »

TENGO un problema con el Refresco de un formulario en la misma pagina

Estas en el tema de TENGO un problema con el Refresco de un formulario en la misma pagina en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/04/2010, 04:39
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
TENGO un problema con el Refresco de un formulario en la misma pagina

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?
  #2 (permalink)  
Antiguo 07/04/2010, 07:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: TENGO un problema con el Refresco de un formulario en la misma pagina

Eso lo logras con javascript y con el método onSubmit
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function funcionDeJavascript(){
  3.   return false;
  4. }
  5. <form action="direccion.php" onSubmit="return funcionDeJavascript();">
  6.   <input type="text" name="Texto" />
  7.   <input type="submit" value="submit" />
  8. </form>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/04/2010, 07:57
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Respuesta: TENGO un problema con el Refresco de un formulario en la misma pagina

El codigo javascript ya lo tengo, mi problema es que para que me salten los mensajes alert tengo que darle a mi boton de enviar, y al pulsar este botón es cuand se me abre en otra ventana 2 y ya si que me muestra los alert en esta ventana 2 cada vez q pulso a enviar y me falta algun campo.

¿Como puedo hacer para que al pulsar el boton enviar, se me muestren los mensajes alert en la ventana 1?
  #4 (permalink)  
Antiguo 07/04/2010, 08:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: TENGO un problema con el Refresco de un formulario en la misma pagina

No entiendo lo de la ventana dos, pero si quieres evitar que se envíe el formulario solo tienes que usar en el botón el evento de onclick y en el formulario el evento de onsubmit.
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function funcionDeJavascript(){
  3.   if(document.formulario.Texto.value == ""){
  4.     alert("No puede haber campos vacios.");
  5.     return false;
  6.   }
  7. }
  8. <form name="formulario" action="direccion.php" onSubmit="return funcionDeJavascript();">
  9.   <input type="text" name="Texto" />
  10.   <input type="submit" value="submit" onClick="return funciónDeJavascript" />
  11. </form>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 07/04/2010, 08:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript
  #6 (permalink)  
Antiguo 07/04/2010, 09:42
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Respuesta: TENGO un problema con el Refresco de un formulario en la misma pagina

Hola de nuevo, con lo de ventana 2 me refiero que al pinxar en el boton de enviar, no me valida los campos automaticamente sino q se me recarga en una ventan nueva.(abre insertar.php)

Lo que yo qiero es que al pinxar en el boton de enviar me salten los alert pero en la ventana inicial dentro de la capa que yo le estoy indicando q se me muestre, no en la nueva ventana.

El problema está en el action q al pinxar en enviar llama a insertar.php y lo abre en la ventana nueva y es en esta donde ya me muestra los alert de los campos no rellenos.

el codigo es este q puedo hacer?

Código:
<form name="publicaciones" id="estiloForm" action="insertar_revista.php" method="post" onSubmit="return comprobarCampos();">
	  <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"   VALUE="Enviar" onclick="return comprobarCampos();"> 	 
  	  </form>
el funcionamiento es correcto pero en la ventana 2, y yo quiero q me funcione = en la ventana 1 dentro de la capa que yo quiero.
  #7 (permalink)  
Antiguo 11/04/2010, 08:26
 
Fecha de Ingreso: abril-2010
Mensajes: 9
Antigüedad: 14 años
Puntos: 0
Respuesta: TENGO un problema con el Refresco de un formulario en la misma pagina

podria ayudarme alguien? no consigo dar con la solucion que busco. gracias

Etiquetas: refresco, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:21.