From: Satyam (
Satyam .en. satyam.com.ar)
Date: Tue Apr 20 2004 - 13:18:13 CEST
Tu problema se soluciona con JavaScript, el PHP no tiene nada
que hacer
allí. El PHP está sólo en el servidor y
tu no querrías que este efecto que
buscas requiera un viaje de ida y vuelta al servidor.
Necesitas atenderlo
del lado del cliente, y eso sólo lo puedes hacer con
JavaScript
Si entiendo bien, tu dices que los 4 primeros son checkbox
normales, es
decir, se pueden marcar uno o mas, o sea, no son excluyentes
entre si, pero
el 5 si lo es respecto de los primeros.
En cuanto a interfaz gráfica, lo correcto sería
poner el 5 primero, pues es
molesto para el usuario tomarse el trabajo de marcar
cualquiera de los 4
primeros y encontrarse luego que el quinto los inhabilita
todos. En
segundo lugar, te recomiendo encerrar los 4 en un marco y
poner el quinto
(que debería estar primero) fuera de ese cuadro, muy
cerca.
El marco lo puedes hacer con una tabla de una sola celda o
con un <div> con
el atributo style con marcos. En cualquiera de los dos casos,
ya sea la
tabla o el <div> te conviene asignarle un Id. Este Id
te servira para
identificar facilmente al grupo de 4 checkbox contenidos
dentro.
Debes utilizar el atributo OnClick del quinto checkbox y a
ese evento
asignarle una función de JavaScript que, según
el valor del checkbox, ubique
a los otros checkbox (para ello le pusiste Id al marco que
los contiene) y
les cambie la propiedad value de los 4 checkbox o, mejor
aún, modificar la
propiedad disabled, para indicar que su estado es
irrelevante.
Cambiar la propiedad disabled es mejor que cambiar el value a
false debido a
que si el usuario se arrepiente de la quinta opcion, al
haberle cambiado el
value los tiene que volver a elegir, mientras que si le
cambias el disabled,
mantienes el value y si se arrepiente de la quinta opcion,
los 4 primeros
habran retenido sus valores.
Satyam
----- Original Message -----
From: "David Sanchez Perez" <
462931 .en. celes.unizar.es>
To: "php-es lists" <
php-es .en. lists.php.net>
Sent: Tuesday, April 20, 2004 11:02 AM
Subject: [PHP-ES] checkbox, radio buttons....sugerencias
> Buenas.
> Soy bastante nuevo en el mundo de
php, y querria preguntar una duda:
> Estoy haciendo una pagina en la
que he puesto 5 checkbox, pero la cosa es
que
> cuando me seleccionen el quinto
checkbox, se me inhabilite la posiblidad
de
> marcar los otros (por asi decirlo,
el quinto checkbox es excluyente). Por
otro
> lado, si cualquiera de los otros 4
checkbox son marcados, quiero que
ocurra el
> caso contrario (es decir, no me
deje marcar el quinto checkbox)
>
> Por ejemplo:
>
> yo tengo:
> _ checkbox1 _ checkbox2 .... _
checkbox5
>
> *****
> caso1:
>
> x checkbox1 _checkbox2 x checkbox3
... __checkbox5
> ^ ^ ^ ^
> marcado sin marcar marcado
inhabilitado
>
> *****
>
> caso2:
> __ checkbox1 __checkbox2 __
checkbox3 ... x checkbox5
> ^ ^ ^ ^
> inhabilitado inhabilitado
inhabilitado marcado
>
> *****
>
> Si creeis que esta no es la manera
mas "elegante" de hacerlo, o si por el
> contrario deberia ingeniarmelas
para hacerlo mediante 'radio buttons',
> agradeceria sugerencias!!
>
> Un saludo y gracias
> DvD
>
> --
> PHP Spanish Localization Talk
Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
-- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:49 CEST