PHP - Ventana

   
Vista:

Ventana

Publicado por Rubén (10 intervenciones) el 28/06/2008 23:41:15
tengo una ventana con un formulario y lo que qu iero es que si una persona no rellena todos los campos me aparezca una ventana diciendoselo, vamos que sería una modal de esas, pero la cosa es que yo donde compruebo si todos los campos están o no introducidos es en un php aparte, entonces cómo tengo que hacer para avisar de que se abra la ventana pq faltan datos?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ventana

Publicado por Diego Romero (1450 intervenciones) el 29/06/2008 00:59:54
Puedes hacerlo en PHP pero mejor si lo haces en JavaScript.

Suponiendo que tu form tiene como id=form1:

<script type="text/javascript" language="JavaScript">
function Comprobar(){

if (document.form1.iddelinput.value == "") {
alert("Debe rellenar este campo.");
document.form1.iddelinput.focus();
return;
}

document.form1.action="recibe.php";
document.form.submit();
}
</script>

Y luego dentro del form:

<input type="button" name="Button" value="Enviar" onclick="Comprobar()">

Debes tener en cuenta que esta solución funciona con navegadores con JavaScript activado y que esto no evita que alguien haga un POST de tu formulario sin pasar por este form, por lo que el script PHP que procese los datos del formulario tendría que volver a verificarlo todo de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana

Publicado por Rubén (10 intervenciones) el 29/06/2008 02:41:00
LA VERDAD es que no lo llego a entender muy bien. yo cuando hago el formulario ya tiene el action con un php asociado y el submit en el type, y si lo pongo como tu me dices al ponerlo como button no hace nada.
De todasmaneras, ahi donde se le indica que abra una ventana? Vamos, que a mi así no me sale, igual necesito alguna explicación más.

Y ahora me he dado cuenta de que lo mismo que tengo que comprobar si todos los campos están rellenos, también si el nombre de usuario está ya cogido o no, entonces en el action del form llamo a comprobar.php ahi hago las gestiones y el resultado me dice que por ejemplo sí que está cogido, pero claro, me desaparece la pantalla con el formulario y me aparece una ventana nueva donde dice que el usuario ya está cogido, yo lo que quiero es que aparezca una modal encima pequeñita para que en cuanto la quite pueda seguir interactuando con el formulario.

Otra cosa que tiene tambien que ver con esto, lo mismo que dependiendo de las opciones que el de, la pantalla vaya cambiando su comportamiento, como le paso esos comportamientos? O lo que tengo que hacer es que todo mi codigo php esté embebido con html? pq yo lo tengo en archivos diferentes, igual asi cambia la cosa...

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana

Publicado por Diego Romero (1450 intervenciones) el 29/06/2008 03:06:41
¿Cambiaste los identificadores para que se adapten a los de tu formulario?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana

Publicado por Rubén (10 intervenciones) el 29/06/2008 14:14:51
en realidad le llamé al formulario ID=form1 para solo tener que cambiarlo en un sitio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana

Publicado por Diego Romero (1450 intervenciones) el 29/06/2008 16:31:23
Revisa que todos los identificadores concuerden.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana

Publicado por Rubén (10 intervenciones) el 30/06/2008 21:41:14
Lo tengo así:
...
title
<script type="text/javascript" language="JavaScript">
function Comprobar(){

if (document.form1.iddelinput.value == "") {
alert("Debe rellenar este campo.");
document.form1.iddelinput.focus();
return;
}

document.form1.action="corregir.php";
document.form.submit();
}
</script>
</head>

<body>
<FORM ID="form1" name="form1" METHOD=post>

...

<td valign="top">
<input name="p1" value="a" type="radio" /></td>
<td width="100%">A</td></tr><tr>
<td valign="top">
<input name="p1" value="a" type="radio" /></td>
<td width="100%">B</td></tr><tr>
<td valign="top">
<input name="p1" value="a" type="radio" /></td>
<td width="100%">C</td></tr><tr>

<td valign="top">
<input name="p2" value="a" type="radio" /></td>
<td width="100%">A</td></tr><tr>
<td valign="top">
<input name="p2" value="a" type="radio" /></td>
<td width="100%">B</td></tr><tr>
<td valign="top">
<input name="p2" value="a" type="radio" /></td>
<td width="100%">C</td></tr><tr>

<INPUT TYPE=button NAME=OK VALUE="Corregir" onclick="Comprobar()"/></td>

</FORM>
</body>

</html>

y cuando le doy al botón Corregir ni hace nada, ni saca el mensaje por pantalla ni envia el formulario a ningun sitio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventana

Publicado por Diego Romero (1450 intervenciones) el 01/07/2008 03:16:14
Evidentemente no tienes idea de programación, no sabes qué es un identificador y no sabes cómo tratar un programa de ejemplo. Mi ejemplo era eso: un ejemplo. Es tu trabajo adaptarlo a tu código.

Te sugiero que leas un buen tutorial de JavaScript y DHTML.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar