Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/03/2009, 12:35
mrmaria
 
Fecha de Ingreso: noviembre-2008
Mensajes: 122
Antigüedad: 15 años, 5 meses
Puntos: 4
Pregunta

Gator, Hola, te agradezco muchisiiiimo tu respuesta, eso de contar si se han elegido opciones no es problema, pero creo que a lo mejor no me has entendido o no he sido yo lo suficientemente clara, mira aqui te lo muestro más simple, imagina q tengo un formulario con una caja de texto y un boton, y deseo que si la caja de texto no se ha rellenado con texto y se pulsa el boton, que NO se permita ir al archivo que llamo desde el action del form:
Con este ejemplo tengo el mismo problema, si no completo la caja de texto no va al otro archivo del form, como yo quiero hasta ahi ok, el problema aparece si completo el campo de texto y pulso el boton, no va a ningun lado y es como que se recarga el formulario, y si enseguida vuelvo a escribir el texto y puslo el btn ahi si va al archivo indicado en el action de form.. ¿por que dos veces debo pulsar para que vaya al archivo?

bbb.php:
<body>
<?php if ((isset($_POST['Submit'])) && (strlen($_POST['txt'])>0)) { ?>
<form id="form1" name="form1" method="post" action="aaa.php">
<input name="txt" type="text" id="txt" />
<input type="submit" name="Submit" value="Submit" />
</form>
<?php } else { ?>
<form id="form1" name="form1" method="post" action="">
<input name="txt" type="text" id="txt" />
<input type="submit" name="Submit" value="Submit" />
</form>
<?php } ?>
</body>

aaa.php:
<?php echo "Texto: ".$_POST['txt'];
?>

Si se cumple que ((isset($_POST['Submit'])) && (strlen($_POST['txt'])>0)) que se ejecute el action del form: aaa.php, y sino, al action lo dejo vacio, es eso correcto..? seguro es una pavada, pero no me sale..!! he probado con cosas mucho mas complicadas y sin problemas pero un simple formulario me puede..
gracias de nuevo por tu ayuda. Un saludo
maria.

Hola de nuevo, mira he solucionado mi problema, NO ES LA MEJOR solución, pero al menos sirve de momento. Respectoal ejemplo quete di hice lo siguiente:

en el archivo bbb.php deje:
<body>
<form id="form1" name="form1" method="post" action="aaa.php">
<input name="txt" type="text" id="txt" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>

en el aaa.php hago la validacion, donde sino la cumple, que vuelva al bbb.php .. ahi deberia de indicar de que no puede dejarse un campo vacio.
<?php
if (strlen($_POST['txt'])==0) {
header("Location: bbb.php");
} else {
echo "Texto: ".$_POST['txt']; }
?>

Mi idea no era hacer la validación desde el aaa.php sino antes de enviar el texto (en bbb.php).
IGUAL, ME QUEDA LA DUDA, ESTOY SEGURA DE QUE PODRIA HABERSE HECHO EN EL SCRIPT QUE CONTIENE EL FORMULARIO, SOLO QUE NO HE SABIDO COMO HACERLO PUES CONSIDERO QUE ESO DEBE SER MUCHO MEJOR.
un saludo.

Última edición por GatorV; 26/03/2009 a las 14:57