Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    verifica dello stato di una checkbox all'aperura di una pagina

    Ciao!
    Ho un problema
    In una pagina con un form di invio per email, ho una checkbox che se selezionata dall'utente, apre un box nascosto in cui l'utente aggiunge dati non essenziali, ma che ritiene utili.
    Fino a qui nessun problema.
    Il problema mi si pone se per caso l'utente inviando il form viene riportato allo stesso per un errore di inserimento (che so: campo necessario lasciato vuoto, errore dell'indirizzo email), bene, se in precedenza aveva selezionato il checkbox per aprire il campo, ora questo rimane sì selezionato, ma con il campo nascosto chiuso.
    Il problema è questo: vorrei far sì che se il checkbox è selezionato, il campo si apra, anche se questo accade per un aggiornamento della pagina dovuto ad un errore di inserimento.
    Tramite il PHP che controlla la pagina, verifico anche la selezione o meno del checkbox, così che se selezionato lo faccio rimanere tale anche dopo il riaggiornamento della pagina.
    Quindi ho provato a gestire con tecnica mista javascript/PHP anche la riapertura del box nascosto, ma niente.
    In pratica credo che il problema finale sia questo: io chiedo al javascript di controllare all'apertura della pagina se il checkbox è selezionato e se sì di aprire il box nascosto. Però penso anche che se faccio selezionare il checkbox dal PHP il javascript non se ne accorga e mi passi su senza aprire il box nascosto.
    In pratica l'azione è questa:
    Arrivo sulla pagina (checkbox non selezionato) --> scrivo qualcosa nel form --> selezioni il checkbox per scrivere altre informazioni nel box nascosto --> inserisco il captcha sbagliandolo --> premo invio.
    Il PHP mi dichiara l'errore mostrandomi la pagina con tutte le informazioni giuste inserite, ma selezionando il box con l'errore. Bene!
    Tramite questa semplice funzione PHP nel codice
    codice:
    <input class='check' type='checkbox' id='info' name='info' value='info' onclick='apre("informazioni");' <?php if ($variabile['info'] == 'info') echo "checked=\"checked\""; ?> />
    il checkbox che apre il box nascosto viene selezionato se già lo era, ma il box resta chiuso.
    Ho scritto questo smeplice codicillo javascript che apre e chiude il box alla pressione del checkbox, ma che non riesce ad aprirlo se già selezionato all'origine.
    codice:
    <script type='text/javascript'>
    		// Definisce un elemento ID all'interno dell'intero documento
    		function getEl(id) {
       			element = document.getElementById(id);
    		return element;
    		}
    
    		// Apre e chiude una parte del documento e deseleziona la casella di controllo
    		function apre(id){;
    			if (document.getElementById) {
    				if(getEl(id).style.display == 'none') {
    					getEl(id).style.display = 'block';
    					getEl('info').checked = true;
    				} else {
    					getEl(id).style.display = 'none';
    					getEl('info').checked = false;
    				}
      			}
    		}
    
    // Verifica che il check non sia già selezionato, se sì allora apre anche il box nascosto
    window.onload = function() {
            if (document.getElementById) {
                if (getEl('info').checked == true) {
                    apre('informazioni');
                }
            }
    }
    </script>
    dove l'ultimafunzione controlla al caricamento della pagina se il checkbox con id=info non sia già selezionato, se sì, apre o dovrebbe farlo, il div con id=informazioni.
    Perché non va?

    Scusate la confusione, ma capirete in testa ora ho di peggio

    PS nella pagina viene collegato anche un altro javascript esterno con funzionalità aggiuntive ma diverse da queste, anche in questo alla fine vine richiamato il controllo di alcune funzioni al caricamento della pagina, non vorrei che sia questo a bloccarlo, cioè, due funzioni che controllano la pagina da due diverse sezioni di script. Firebug in ogni caso non mi da mai errori, e questo mi spiazza più di un cartello che indichi: [Tutte le direzioni>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132

    Re: verifica dello stato di una checkbox all'aperura di una pagina

    Originariamente inviato da Marcolino's
    .........

    PS nella pagina viene collegato anche un altro javascript esterno con funzionalità aggiuntive ma diverse da queste, anche in questo alla fine vine richiamato il controllo di alcune funzioni al caricamento della pagina, non vorrei che sia questo a bloccarlo, cioè, due funzioni che controllano la pagina da due diverse sezioni di script.....
    Facile, facile, facilissimo no puoi avere due onload nello stesso documento, raggruppali
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Ok, ci provo e ti dico.

    EDIT Funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.