Foros del Web » Programando para Internet » PHP »

Textarea - pulso intro y vacia todo el formulario

Estas en el tema de Textarea - pulso intro y vacia todo el formulario en el foro de PHP en Foros del Web. Buenas tardes. En primer lugar, muchas gracias a la gente que postea en estos foros, porque me ha sacado de mas de un apuro. El ...
  #1 (permalink)  
Antiguo 17/06/2009, 10:37
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 10 meses
Puntos: 0
Textarea - pulso intro y vacia todo el formulario

Buenas tardes.

En primer lugar, muchas gracias a la gente que postea en estos foros, porque me ha sacado de mas de un apuro. El caso esque a pesar de buscar, no encuentro solucion a este problema.

Tengo un formulario, bastante simple, solo que hay un textarea en el y me esta dando un error extraño. La idea de dicho formulario es recoger unos datos del usuario y luego pasarlos todos a otra pagina segun la opcion que escojan en una lista de radiobuttons.
Lo raro viene cuando escribes algo en el elemento textarea, si escribes y punto, recoge los datos, pero si a mitad de escritura pulsas intro para cambiar de linea, luego cuando le das a siguiente, se queda en la misma pagina y vaciando el formulario.

He comprobado lo que recoge de POST, y lo recoge correctamente, pero no reenvia a la pagina que le indico tras pulsar el boton siguiente en la pagina si al escribir en el textarea pulso intro, se queda en la misma y hace como si la hubiera refrescado vaciando todo el formulario.

Os paso el codigo del formulario:

Código:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" id="nueva_incidencia" name="nueva_incidencia"> 
            
                               <p>&nbsp;</p>
                              
                                   <div id="caja2-fila">
                                    <div id="elemento-izq">Tel&eacute;fono de qui&eacute;n llama</div>
                                    <div id="elemento-der"> 
                          <input name="movil" type="text" class="campo-texto required digits" minlength="9" id="movil" maxlength="15" >
                                   </div>
                                   </div>	  
                                   
                               
                                
                                    <div id="caja2-fila">
                                     <strong>Tipo de incidencia</strong>
                                    </div>
                                     
                                                             
                                    
                                
                                    <div id="caja2-fila-tab">
                                          <input type="radio" checked="checked" name="radio" id="usuario" value="usuario" />Usuario                             
                                </div>
                                     
                                    <div id="caja2-fila-tab">
                                          <input type="radio" name="radio" id="mantenimiento" value="mantenimiento" />Mantenimiento                             
                                </div>
                                     
                           
                              <div id="caja2-fila">
                                         Observaciones  <br />
                                     <div id="elemento-izq"> <textarea name="observaciones" id="observaciones" cols="50" rows="5" class="campo-texto-multi"></textarea></div>
                                </div>                 	
                                    
                                <div id="caja2-botones">
                                     <input type="submit" name="siguiente" class="boton" value="Siguiente &gt;" />
                                </div>                            
                                              
                                  
                              </form>

Y este codigo seria el que se ejecuta despues, si se pulsa el boton Siguiente

Código:
if ($_POST['siguiente'] == 'Siguiente >')
{
	$telefono = $_POST['movil'];
	$observaciones = $_POST['observaciones'];
	
//Reenviar al usuario segun el radiobutton seleccionado

switch ($_POST["radio"])
	{
		case 'usuario' :
?>
         		<script>
				window.location.href="usuario/inicio.php?telefono=<?php echo $telefono;?>&persona=<?php echo $persona;?>&cliente=<?php echo $cliente;?>&observaciones=<?php echo $observaciones;?>";
				</script>
				<?php

			break;

		
		default :
?>
         		<script>
				window.location.href="mantenimiento/inicio.php?telefono=<?php echo $telefono;?>&persona=<?php echo $persona;?>&cliente=<?php echo $cliente;?>&observaciones=<?php echo $observaciones;?>";
				</script>
				<?php


			}

}
?>
Y en concreto es al darle al boton y en el reenvio, que lo hace bien excepto si pulsas la tecla intro para un salto de linea en el textarea.

Gracias de antemano
  #2 (permalink)  
Antiguo 17/06/2009, 10:55
 
Fecha de Ingreso: septiembre-2007
Mensajes: 29
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Textarea - pulso intro y vacia todo el formulario

Hola,

El error que tienes es que en el submit tienes en el value "Siguiente &gt;" y cuando haces el if para comparar el value, lo comparas con "Siguiente >". Por lo que no creo que te compare bien. Espero que te sirva.
  #3 (permalink)  
Antiguo 17/06/2009, 11:09
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Textarea - pulso intro y vacia todo el formulario

Ojala fuera eso, pero no lo es, de todos modos gracias. La comparacion la hace bien, solo que en el comparador del if tengo que poner el > y en el codigo tengo que poner el simbolo en html. Pero no es eso, le he quitado el simbolo y lo recoge y aparte, si el textarea lo dejo vacio, me pasa a la pagina correcta y me muestra los datos correctamente (bueno el textarea, esta vacio).

Eso si, probando he visto que es lo que hace que pase, esta en esta parte del codigo:

Código:
case 'usuario' :
?>
         		<script>
				window.location.href="usuario/inicio.php?telefono=<?php echo $telefono;?>&persona=<?php echo $persona;?>&cliente=<?php echo $cliente;?>&observaciones=<?php echo $observaciones;?>";
				</script>
				<?php

			break;
Si le paso en la url de la pagina destino, el valor de observaciones(el textarea), cuando le doy a siguiente, se queda en la misma pagina blanqueando el formulario. Pero si le quito la variable ignorando esa variable en la pagina destino, llega a la pagina destino correctamente mostrando las otras variables.

Parece ser que el error está en lo que recoge del textarea del formulario, pero no se porque.
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 01:02.