Foros del Web » Programando para Internet » PHP »

limpiar un campo al darle al botón enviar

Estas en el tema de limpiar un campo al darle al botón enviar en el foro de PHP en Foros del Web. Hola, tengo un pequeño formulario con un solo campo y un botón, donde el usuario inserta su correo y al darle a enviar, éste se ...
  #1 (permalink)  
Antiguo 17/06/2010, 10:08
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
limpiar un campo al darle al botón enviar

Hola,
tengo un pequeño formulario con un solo campo y un botón, donde el usuario inserta su correo y al darle a enviar, éste se almacena en una BD. El problema es que quiero que cuando le de a enviar, el campo de texto se limpie.... he probado de mil manera, y no doy con la ello. A ver si alguien me echa una mano. Aquí os dejo el código:


Código PHP:
<?php
if ($_POST[enviar]=="Enviar"){


$link mysql_connect("XXXXX""XXXXX","XXXX"); 
mysql_select_db("XXXXXX"$link); 
$consulta="INSERT INTO boletines (email) VALUES ('$_POST[email]')";

$result mysql_query($consulta$link);

$errno="";

if (
$_POST[email]==""){
$errno=$errno."Debe introducir su Correo electr&oacute;nico (e-mail)<br>";
}
if (
$errno==""){
$correos="xxxxx@xxxx";
$headers="From: xxx@xxxxx\n";
mail("$correos","Boletines","\nCorreo electronico: $_POST[email]\n","$headers");
/*echo " <div class=negrita>Gracias por confiar en nosotros. </div>";*/
}
else
echo 
"Errores: <br><font color=#990000>$errno</font><br>";
}



echo 
"<form name=enviado action='' method=post >";
echo 
"Subscríbete a nuestro boletín de novedades. <input type=text name='email' value='$_POST[email]' size=30><input type=submit name=enviar value=Enviar>";
echo 
"</form>";

?>
  #2 (permalink)  
Antiguo 17/06/2010, 10:12
 
Fecha de Ingreso: abril-2010
Mensajes: 89
Antigüedad: 14 años
Puntos: 1
Respuesta: limpiar un campo al darle al botón enviar

Código HTML:
<input type="submit" value="Enviar" OnClick="setTimeout('document.formulario.reset()',2000)" /> 
  #3 (permalink)  
Antiguo 17/06/2010, 11:54
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: limpiar un campo al darle al botón enviar

Dentro de este condicional puedes colocar un refresh html


Código PHP:

//trozo de tu codigo

if ($errno==""){ 
$correos="xxxxx@xxxx"; 
$headers="From: xxx@xxxxx\n"; 
mail("$correos","Boletines","\nCorreo electronico: $_POST[email]\n","$headers"); 

//Se muesra el mensaje
echo " <div class=negrita>Gracias por confiar en nosotros. </div>";

//luego de 3 segundos se llama a la misma pagina sin envio post
?>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="refresh" 
content="3;URL=?"> 
<?php


}
  #4 (permalink)  
Antiguo 18/06/2010, 02:13
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: limpiar un campo al darle al botón enviar

Cita:
Iniciado por apuu Ver Mensaje
Código HTML:
<input type="submit" value="Enviar" OnClick="setTimeout('document.formulario.reset()',2000)" /> 
Hola Apuu, he probado lo que me has dicho, y no hace nada. Esto es lo que he puesto en el código:

Código PHP:
echo "<form name=enviado action='' method=post >";
echo 
"Subscríbete a nuestro boletín de novedades. <input type=text name='email' value='$_POST[email]' size=30><input type=submit name=enviar value=Enviar OnClick=setTimeout('document.enviado.reset()',2000)>";
echo 
"</form>"
  #5 (permalink)  
Antiguo 18/06/2010, 03:49
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: limpiar un campo al darle al botón enviar

Cita:
Iniciado por wiwi74 Ver Mensaje
Dentro de este condicional puedes colocar un refresh html


Código PHP:

//trozo de tu codigo

if ($errno==""){ 
$correos="xxxxx@xxxx"; 
$headers="From: xxx@xxxxx\n"; 
mail("$correos","Boletines","\nCorreo electronico: $_POST[email]\n","$headers"); 

//Se muesra el mensaje
echo " <div class=negrita>Gracias por confiar en nosotros. </div>";

//luego de 3 segundos se llama a la misma pagina sin envio post
?>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="refresh" 
content="3;URL=?"> 
<?php


}
Hola wiwi74,
he probado tu código y si lo pongo en la posición en la que indicas (fuera del php) funciona, pero empieza a refrescar la página incluso sin meter nada, o cuando estás metiendo algo, antes de darle a Enviar, lo borra. ¿Cómo puedo meterlo justo dentro del php, para que ejecute la instrucción justo cuando doy el mensaje de "Gracias por confiar en nosotros".

Muchas gracias :)
  #6 (permalink)  
Antiguo 18/06/2010, 12:30
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: limpiar un campo al darle al botón enviar

Tienes que buscar un condicional que lo filtre.

Quiza asi puedas:

Código PHP:

//ESTE CONDICIONAL SOLO FILTRA (si falla, fallara algo) 
if ($_POST['email'] == "" &&  $_POST['enviar'] == "Enviar"){   

$errno=$errno."Debe introducir su Correo electr&oacute;nico (e-mail)<br>";  

//$errno si no lo usas en otro lado lo puedes quitar 
echo "Debe introducir su Correo electr&oacute;nico (e-mail)<br>"; 

//AGREGO UN ELSE 
}else{ 


if($_POST['email'] != ""){

$correos="xxxxx@xxxx";   
$headers="From: xxx@xxxxx\n";   
mail("$correos","Boletines","\nCorreo electronico: $_POST[email]\n","$headers");   


//Se muesra el mensaje  
echo " <div class=negrita>Gracias por confiar en nosotros. </div>";  


//luego de 3 segundos se llama a la misma pagina sin envio post  
?>  
<meta http-equiv="pragma" content="no-cache">  
<meta http-equiv="refresh"   
content="3;URL=?">   
<?php  

}
//fin deif ($_POST['email']=="")

Última edición por wiwi74; 18/06/2010 a las 12:53
  #7 (permalink)  
Antiguo 18/06/2010, 12:50
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: limpiar un campo al darle al botón enviar

Revisa el post ya que lo edite porque me equivoque en el codigo


Asegurate de tener tu boton asi, con esos atributos y valores:

Código PHP:

<input type='submit' name='enviar' value='Enviar'

Última edición por wiwi74; 18/06/2010 a las 12:57

Etiquetas: enviar, limpiar, campos
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 09:34.