Discussione:
disabilitare una pagina tramite css
(troppo vecchio per rispondere)
Andrea
2004-02-16 09:27:02 UTC
Permalink
Ciao a tutti!

Come da oggetto; in pratica ho questa pagina:
<HTML>
<BODY BD_ALLDISABLED="TRUE">
<INPUT TYPE="text">
<INPUT TYPE="button" VALUE="click me!">
<A HREF="x.html">click me!</A>
...
</BODY>
</HTML>

Questa pagina fa' riferimento ad un foglio di stile definito come segue:
[BD_ALLDISABLED="TRUE"] * {
cursor: wait !important;
}

In pratica questo fa' sì che il documento mostri la clessidra anche sui
link, sugli input, ...
Avrei però anche la necessità che tutti gli elementi contenuti nel body
siano disabilitati, cioè che l'utente non possa editare le textbox, cliccare
sui pulsanti, cliccare sui link, ...
E' possibile farlo sempre tramite css così come ho fatto per fare apparire
la clessidra?
Grazie dell'aiuto!
Ciao
Spirito Libero
2004-02-16 09:51:31 UTC
Permalink
Post by Andrea
Ciao a tutti!
<HTML>
<BODY BD_ALLDISABLED="TRUE">
<INPUT TYPE="text">
<INPUT TYPE="button" VALUE="click me!">
<A HREF="x.html">click me!</A>
...
</BODY>
</HTML>
[BD_ALLDISABLED="TRUE"] * {
cursor: wait !important;
}
E che e' sta cosa?! Mi sono perso qualcosa?
Post by Andrea
In pratica questo fa' sì che il documento mostri la clessidra anche sui
link, sugli input, ...
Avrei però anche la necessità che tutti gli elementi contenuti nel body
siano disabilitati, cioè che l'utente non possa editare le textbox, cliccare
sui pulsanti, cliccare sui link, ...
E' possibile farlo sempre tramite css così come ho fatto per fare apparire
la clessidra?
Grazie dell'aiuto!
Ciao
Non pubblichi la pagina oppure crei un documento bianco.
--
Spirito Libero

Siamo tutti un po' abusivi a questo mondo...
(Non mettere il sale se vuoi rispondermi!)
Andrea
2004-02-16 10:22:08 UTC
Permalink
Post by Spirito Libero
Post by Andrea
Ciao a tutti!
<HTML>
<BODY BD_ALLDISABLED="TRUE">
<INPUT TYPE="text">
<INPUT TYPE="button" VALUE="click me!">
<A HREF="x.html">click me!</A>
...
</BODY>
</HTML>
[BD_ALLDISABLED="TRUE"] * {
cursor: wait !important;
}
E che e' sta cosa?! Mi sono perso qualcosa?
Beh.... Vedi specifiche del w3c sul css2! (o forse ho sbagliato io qualche
cosa??? non credo perchè fin qui mi funziona tutto!) ;-) (su Mozilla!)
Post by Spirito Libero
Post by Andrea
In pratica questo fa' sì che il documento mostri la clessidra anche sui
link, sugli input, ...
Avrei però anche la necessità che tutti gli elementi contenuti nel body
siano disabilitati, cioè che l'utente non possa editare le textbox, cliccare
sui pulsanti, cliccare sui link, ...
E' possibile farlo sempre tramite css così come ho fatto per fare apparire
la clessidra?
Grazie dell'aiuto!
Ciao
Non pubblichi la pagina oppure crei un documento bianco.
Ehm... diciamo che la tua risposta è giusta per come ti ho posto il
problema...
Il fatto è ho sbagliato a porre il problema!!!
Ampliamo lo scenario: sto' sviluppando una web application che girerà su una
intranet aziendale basata su apache, php, mysql, etc etc etc
Per quel che riguarda il browser (non ci interessa il lato server!) il sito
è strutturato in due frame e accade che quando clicco su un determinato link
nel frame 1 parte del codice js che fa' ricaricare il frame 2, durante
questo periodo devo impedire che l'utente smanetti sul frame 1 per cui ho
pensato a queste soluzioni:
1) potrei porre a zero le dimensioni del frame 1 ottenendo che il frame 1
scompare dal browser e quando il frame 2 si carica potrebbe reimpostare le
dimensioni del frame 1 in modo che sia visibile (non posso "scaricare" il
frame 1 per fargli ricaricare una pagina bianca perchè non voglio perdere i
dati e perchè non voglio perdermi in routine di salvataggio temporaneo dei
dati per ripristinarli poi!!) ;-)
2) la soluzione basata sui fogli di stile, potrei quindi settare un
determinato parametro (BD_ALLDISABLED) nel frame 1 in modo che un foglio di
stile si occupi di disabilitare il frame 1

"A naso" ho scartato la soluzione 1 in quando è più macchinosa e perchè
rischio di causare danni psichici irreversibili all'utente (per l'utente è
più traumatico vedersi sparire la pagina e poi vedersela riapparire!!!), al
contrario la soluzione 2 mi piace di più perchè è molto più semplice e
lineare e anche nei confronti dell'utente è più "bella" in quanto l'utente
semplicemente vede che la pagina non è modificabile...

Resta però il problema: la clessidra appare tranquillamente ma non sò
(sempre che sia possibile) come rendere readonly i controlli di una pagina
tramite css...
(sono comunque aperto a valutare eventuali altre soluzioni!)

Grazie ancora dell'attenzione.

Ciao
Spirito Libero
2004-02-16 11:19:15 UTC
Permalink
Post by Andrea
Post by Spirito Libero
Post by Andrea
[BD_ALLDISABLED="TRUE"] * {
cursor: wait !important;
}
E che e' sta cosa?! Mi sono perso qualcosa?
Beh.... Vedi specifiche del w3c sul css2! (o forse ho sbagliato io qualche
cosa??? non credo perchè fin qui mi funziona tutto!) ;-) (su Mozilla!)
Si, mi ero perso qualcosa...
Post by Andrea
Post by Spirito Libero
Non pubblichi la pagina oppure crei un documento bianco.
Ehm... diciamo che la tua risposta è giusta per come ti ho posto il
problema...
Il fatto è ho sbagliato a porre il problema!!!
[cut]
Ora ho capito.
Post by Andrea
Resta però il problema: la clessidra appare tranquillamente ma non sò
(sempre che sia possibile) come rendere readonly i controlli di una pagina
tramite css...
(sono comunque aperto a valutare eventuali altre soluzioni!)
Per disabilitare i campi di un form, usa l'attributo readonly (Se usi
XHTML e vuoi renderlo valido devi utilizzare readonly="readonly") nei
tag. Per gli altri controlli, quali i link, potresti lavorare
lato-server, facendoli apparire e scomparire quando un utente cambia
pagina, oppure giocare con javascript e css (visibility:hidden;). La mia
e' solo un idea, ma potrebbe funzionare.
Post by Andrea
Grazie ancora dell'attenzione.
Prego
Post by Andrea
Ciao
Ciao
--
Spirito Libero

Siamo tutti un po' abusivi a questo mondo...
(Non mettere il sale se vuoi rispondermi!)
Andrea
2004-02-16 12:30:20 UTC
Permalink
[cut]
Post by Spirito Libero
Per disabilitare i campi di un form, usa l'attributo readonly (Se usi
XHTML e vuoi renderlo valido devi utilizzare readonly="readonly") nei
tag. Per gli altri controlli, quali i link, potresti lavorare
lato-server, facendoli apparire e scomparire quando un utente cambia
pagina, oppure giocare con javascript e css (visibility:hidden;). La mia
e' solo un idea, ma potrebbe funzionare.
Sì, conosco l'attributo readonly...
Però questo attributo non è settabile tramite css (o almeno non sono
riuscito ad impostarlo tramite css!).
Quel che ho tentato io è di definisce il css come segue:
[BD_ALLDISABLED="TRUE"] * {
cursor: wait !important;
readonly: readonly !important;
}
Qual'è il modo corretto? (voglio evitare di farlo via javascript!)
Andrea
2004-02-16 12:39:11 UTC
Permalink
Purtroppo ho trovato risposta alla mia domanda!!!
http://www.faqts.com/knowledge_base/view.phtml/aid/17871/fid/337
Spirito Libero
2004-02-16 19:04:00 UTC
Permalink
Post by Andrea
Purtroppo ho trovato risposta alla mia domanda!!!
http://www.faqts.com/knowledge_base/view.phtml/aid/17871/fid/337
Grazie per aver postato il link, cosi' ci diamo tutti un'occhiata.
--
Spirito Libero

Siamo tutti un po' abusivi a questo mondo...
(Non mettere il sale se vuoi rispondermi!)
SantaKlauss
2004-02-16 13:44:40 UTC
Permalink
Post by Andrea
Ciao a tutti!
<HTML>
<BODY BD_ALLDISABLED="TRUE">
[BD_ALLDISABLED="TRUE"] * {
cursor: wait !important;
}
In pratica questo fa' sì che il documento mostri la clessidra anche sui
link, sugli input, ...
Avrei però anche la necessità che tutti gli elementi contenuti nel body
siano disabilitati, cioè che l'utente non possa editare le textbox, cliccare
sui pulsanti, cliccare sui link, ...
E' possibile farlo sempre tramite css così come ho fatto per fare apparire
la clessidra?
Anch' io come Spirito Libero all' inizio non capivo... ma ha senso definire
un attributo al posto di una classe (o ancora meglio un id) per il body?
E' apprezzabile il fatto che funzioni su Mozilla.. ma su IE non va di sicuro,
dato che non supporta il selettore di attributo. Inoltre considera che l' html
non ti verrà validato, dato che BD_ALLDISABLED non è un' attributo standard.

In quanto alla tua richiesta... non c'è modo di curare aspetti prettamente
funzionali con i css, e readonly non è una proprietà css ma solo un' attributo
html. Al limite puoi nascondere i campi della form e i link con i css e mostrarli
una volta che l' altro frame è caricato. Ma ci andrà sempre qualche riga di
javascript, allora tantovale usare solo js.
Se proprio lo vuoi evitare c'è una soluzione per risolvere la questione a monte:
evitare i frame.

Ciao,
Alessandro Fulciniti
Loading...