Back to top

Autore Topic: getUserStateFromRequest e i checkbox  (Letto 2579 volte)

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
getUserStateFromRequest e i checkbox
« il: 09 Mar 2011, 21:44:29 »
ho un problema stupido ma non so come risolverlo.

voi come gestite i checkbox in un form?

mi spiego meglio e vi illustro la situazione: ho un classico form di ricerca, volevo mettere anche la spunta "Cerca anche fra gli inattivi".
Il problema è che usando il metodo che vi ho detto, una volta spuntato il check, lui lo sente sempre checkkato!

infatti se c'è la spunta -> il campo viene passato nella richiesta post e lui aggiorna la sessione con il valore
se non c'è la spunta -> il campo NON viene passato e quindi lui legge sempre il valore che si è salvato

in pratica una volta messa la spunta non riesco più ad azzerare il valore  :o

voi come fareste?
io ho preso una decisione salomonica: in questi casi uso i radio invece dei check.. però non è molto elegante

suggerimenti?
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:getUserStateFromRequest e i checkbox
« Risposta #1 il: 10 Mar 2011, 08:13:29 »
se non è definita la chiave in $_REQUEST resetti il valore...
??? mi pare banale, mi è sfuggito qualcosa? 

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:getUserStateFromRequest e i checkbox
« Risposta #2 il: 10 Mar 2011, 09:46:30 »
ni :P

prendi questo esempio:
il tuo form filtra i risultati, che sono paginati.

quando fai click sul "Avanti" o "Indietro" non rifai il submit del form, ma ti sposti tra i risultati, quindi ti devi salvare la query di ricerca con getUser...
solo che i checkbox sono rognosi (per quanto ho capito): se non li spunti non vengono passati nella request, quindi non riesce a capire se in realtà non c'è perchè non l'hai spuntato oppure non c'è perchè stai navigando tra i risultati..

mi sono spiegato oppure o fatto ancora più confusione?  :P
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:getUserStateFromRequest e i checkbox
« Risposta #3 il: 10 Mar 2011, 10:10:41 »
se faccio il submit avrò definito in $_REQUEST il bottone di submit, i campi text e così via: so che è un submit ed imposto i valori delle checkboxes di conseguenza. altrimenti non devo fare niente.
se 'avanti/indietro'sono link non avrò i campi della form ed il controllo è presto fatto...

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline baldo

  • Esploratore
  • **
  • Post: 65
  • Sesso: Maschio
    • Mostra profilo
Re:getUserStateFromRequest e i checkbox
« Risposta #4 il: 14 Lug 2013, 15:36:14 »
ciao

ho trovato questa discussione, un po datata, perchè mi sono trovato in una situazione analoga con getUserStateFromRequest e i checkbox
tampe125 nel frattempo avrà risolto ...
... guardando il codice di getUserStateFromRequest () , getUserStateFromRequest () consente di specificare un valore di default, ma se in memoria era già presente un valore questo ha la priorità sul valore di default ... dato che il checkbox quando non è flaggato non invia nessun parametro, se si usa getUserStateFromRequest () una volta flaggato rimarrà flaggato a vita
quindi, da come la vedo, getUserStateFromRequest () con i checkbox non va daccordo, meglio usare getVar()
... detto questo mi sfugge qualcosa, come fa joomla a memorizzare i campi checkbox quando ad esempio un submit fallisce? adesso mi vado a guardare il codice di un componente che usa i checkbox
bye
semplicità ... al sol nominarla sembra svanire

mau_develop

  • Visitatore
Re:getUserStateFromRequest e i checkbox
« Risposta #5 il: 14 Lug 2013, 16:14:04 »
semplicità ... al sol nominarla sembra svanire
---------------------------------------------------------------
già...

un checkbox avrà sempre un valore booleano true o false ovvero selected o nulla
solitamente viene usato anche come scelta multipla, quindi diventa un array.
Joomla fa già benissimo ciò che vuoi fare basta che gliene dai modo ovvero quando lo inserisci lo devi serializzare e quando lo associ al form lo devi deserializzare quindi basta intervenire in questi due punti.

Dove passa? ... dove passano le altre variabili.
..quello che vuoi fare tu col getVar è pericoloso oltre che inutile

Offline baldo

  • Esploratore
  • **
  • Post: 65
  • Sesso: Maschio
    • Mostra profilo
Re:getUserStateFromRequest e i checkbox
« Risposta #6 il: 14 Lug 2013, 16:58:21 »
già

a mia parziale discolpa posso dire che stavo lavorando sul form dei filtri di una lista e non su un form edit,

con i campi di testo e select dei filtri, per recuperare i valori e memorizzare lo stato ho usato getUserStateFromRequest (), con il checkbox ho avuto la difficoltà di cui sopra

detto questo cercherò di approfondire sul modo corretto per mantenere lo stato di un form edit in joomla ... grazie bye
« Ultima modifica: 14 Lug 2013, 17:02:07 da baldo »
semplicità ... al sol nominarla sembra svanire

mau_develop

  • Visitatore
Re:getUserStateFromRequest e i checkbox
« Risposta #7 il: 14 Lug 2013, 18:01:36 »
basta che guardi il model come fa e ti stampi con un print_r la variabile che vuoi

 



Web Design Bolzano Kreatif