Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Ripristinare lo stato di un checkbox.

    Ho una function javascript associata ad un checkbox.
    Al clic su questo propongo una confirm....se confermo, tutto ok, ma se faccio annulla, vorrei che lo stato del checkbox ritornasse a quello precedente il clic...quindi se era non fleggato torni tale, se era fleggato torni tale.

    Come si fa?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    if(!confirm("?")){
            if(checkbox.checked) checkbox.checked = false;
    	else checkbox.checked = true;
    }

  3. #3
    Non mi funziona la else.

    Ti posto la funzione:

    codice:
    	function pulisciMotivazione(idRiga) {
    	
    		if (confirm("Attenzione!!!\nL'eventuale modifica della proposta per l'anno corrente, cancellerà la motivazione già presente.\nVuoi proseguire?")) {
        		document.getElementById('motivazione'+idRiga).value = "";
    		} else {
    			if (document.getElementById('propostaAnnoCorrente'+idRiga).checked) {
    				alert("sono qua 1");
    				document.getElementById('propostaAnnoCorrente'+idRiga).checked = false;
    			} else {
    				if (!document.getElementById('propostaAnnoCorrente'+idRiga).checked) { 
    					alert("sono qua 2");
    					document.getElementById('propostaAnnoCorrente'+idRiga).checked = true;
    				}	
    			}		 
    		}				
    	}
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    function pulisciMotivazione(idRiga) {
    	var checkbox = document.getElementById('propostaAnnoCorrente'+idRiga);
    	if (confirm("Attenzione!!!\nL'eventuale modifica della proposta per l'anno corrente, cancellerà la motivazione già presente.\nVuoi proseguire?")) {
    		document.getElementById('motivazione'+idRiga).value = "";
    	} else {
    		if (checkbox.checked) checkbox.checked = false;
    		else checkbox.checked = true;		 
    	}				
    }
    Ho sistemato il codice, cmq funzionava anche senza le mie modifiche... cosa intendi con "Non mi funziona la else"...

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    <input type="checkbox" onclick="if(!confirm('?')) this.checked=!this.checked;">
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    X vindav:
    intendo il pezzo di codice che ho evidenziato

    codice:
    function pulisciMotivazione(idRiga) {
    	var checkbox = document.getElementById('propostaAnnoCorrente'+idRiga);
    	if (confirm("Attenzione!!!\nL'eventuale modifica della proposta per l'anno corrente, cancellerà la motivazione già presente.\nVuoi proseguire?")) {
    		document.getElementById('motivazione'+idRiga).value = "";
    >>>>>>da qui
    	} else {
    		if (checkbox.checked) checkbox.checked = false;
    		else checkbox.checked = true;		 
    	}				
    <<<<<<a qui
    }
    X br1: il tuo suggerimento andrebbe bene se dovessi solo ripristinare lo stato, ma debbo fare anche altro, come puoi vedere dalla function.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    function pulisciMotivazione(idRiga) {
    	var checkbox = document.getElementById('propostaAnnoCorrente'+idRiga);
    	if (confirm("Attenzione!!!\nL'eventuale modifica della proposta per l'anno corrente, cancellerà la motivazione già presente.\nVuoi proseguire?")) {
    		document.getElementById('motivazione'+idRiga).value = "";
    	} else {
    		checkbox.checked=!checkbox.checked;		 
    	}				
    }
    L'ho ottimizzata ancora aggiungendo il suggerimento di br1, cmq continuo a non capire dove sia il problema a me pare funzioni correttamente...

  8. #8
    Io mi riferisco al caso in cui il check è fleggato e lo tolgo...in quel caso dopo il messaggio di conferma, mi va in errore la funzione che ri posto adattata ai tuoi suggerimenti:

    codice:
    		if (confirm("Attenzione!!!\nL'eventuale modifica della proposta per l'anno corrente, cancellerà la motivazione già presente.\nVuoi proseguire?")) {
    			document.getElementById('motivazione'+idRiga).value = "";	
    		} else {
    			var objCheck = document.getElementById('propostaAnnoCorrente'+idRiga);	
    			objCheck.checked = !objCheck.checked;
    		}
    L'errore che mi viene ritornato è: "'null' è nullo o non è un oggetto".

    P.S.:Utilizzo IE 8.0, ma il problema mi si presenta anche con firefox.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ma sei sicuro che i due oggetti con ID 'motivazione'+idRiga e 'propostaAnnoCorrente'+idRiga esistano entrambi e siano univoci nella pagina?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    a me funziona sia con ie che con ff... assicurati che il problema non sia un altro... prova a vedere sulla console di ff se vedi qualche errore...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.