Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500

    Problema controllo checkbox

    Sto facendo delle prove per eserctarmi in javascript man mano che vado a vanti nello studio..

    Voglio che se non sono checckate solo ed esclusivamente 2 checkbox si vede un messaggio di errore sotto..

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    <script type="text/javascript">
    function controlla(id){
    	var contacheck = 0
    	for(i=0;i<11;i++){
    		if(document.esempio.i.checked){
    			contachek++
    		}
    	}
    	
    	if(contacheck =! 2){
    		alert("SBAGLIATO")
    		view('secondo')
    		view('nasc')
    		hidden('primo')
    	}else{
    		alert("GIUSTO")
    	}
    
    }
    function view(id) {
        document.getElementById(id).style.display='block';
    }
    function hidden(id) {
        document.getElementById(id).style.display='none';
    }
    </script>
    </head>
    
    <body>
    <form name="esempio">
    <input id="giocata" name="0" type="checkbox" value="" />
    
    <input id="giocata" name="1" type="checkbox" value="" />
    
    <input id="giocata" name="2" type="checkbox" value="" />
    
    <input id="giocata" name="3" type="checkbox" value="" />
    
    <input id="giocata" name="4" type="checkbox" value="" />
    
    <input id="giocata" name="5" type="checkbox" value=""  />
    
    <input id="giocata" name="6" type="checkbox" value=""  />
    
    <input id="giocata" name="7" type="checkbox" value="" />
    
    <input id="giocata" name="8" type="checkbox" value="" />
    
    <input id="giocata" name="8" type="checkbox" value="" />
    
    <input id="giocata" name="10" type="checkbox" value="" />
    
    
    <input type="button" value="Gioca" id="primo" onclick="controlla(id);">
    <input style="display: none" type="button" value="Gioca" id="secondo" onclick="view('primo');hidden('nasc');hidden('secondo')">
    <span id="nasc" style="display: none">Massimo due giocate!</span>
    </form>
    </body>
    </html>
    L'errore esce su document.esempio.i.checked, non so come fare altrimenti, mi potee suggerire?

  2. #2
    prova a sostituire appena inizia il blocco della funzione controlla questa porzione:
    codice:
    var contacheck = 0;
        elem=document.esempio.elements;
    	for(i=0;i<elem.length;i++){
    		if(elem[i].checked){
    			contachek++;
    		}
    	}
    al posto di
    codice:
    var contacheck = 0
    	for(i=0;i<11;i++){
    		if(document.esempio.i.checked){
    			contachek++
    		}
    	}

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    <script type="text/javascript">
    function controlla(id){
    	var contacheck = 0
    	var box = document.getElementsByTagName('input')
    	for(i=0;i<box.length;i++){
    		if(box[i].type=="checkbox" && box[i].checked){
    			contacheck++
    		}
    	}
    	
    	if(contacheck != 2){
    		alert("SBAGLIATO")
    	document.getElementById('secondo').style.display='none';
        document.getElementById('nasc').style.display='none';
    	document.getElementById('primo').style.display='block';
    	}else{
    		alert("GIUSTO")
    	}
    
    }
    function view(id1) {
        document.getElementById(id1).style.display='block';
    }
    function hidden(id1,id2) {
        document.getElementById(id1).style.display='none';
        document.getElementById(id2).style.display='none';
    }
    </script>
    </head>
    
    <body>
    <form name="esempio">
    <input id="giocata_0" name="_0" type="checkbox" value="" />
    
    <input id="giocata_1" name="_1" type="checkbox" value="" />
    
    <input id="giocata_2" name="_2" type="checkbox" value="" />
    
    <input id="giocata_3" name="_3" type="checkbox" value="" />
    
    <input id="giocata_4" name="_4" type="checkbox" value="" />
    
    <input id="giocata_5" name="_5" type="checkbox" value=""  />
    
    <input id="giocata_6" name="_6" type="checkbox" value=""  />
    
    <input id="giocata_7" name="_7" type="checkbox" value="" />
    
    <input id="giocata_8" name="_8" type="checkbox" value="" />
    
    <input id="giocata_9" name="_9" type="checkbox" value="" />
    
    <input id="giocata_10" name="_10" type="checkbox" value="" />
    
    
    <input type="button" value="Gioca" id="primo" onclick="controlla(id);">
    <input style="display: none" type="button" value="Gioca" id="secondo" onclick="view('primo');hidden('nasc','secondo')">
    <span id="nasc" style="display: none">Massimo due giocate!</span>
    </form>
    </body>
    </html>
    Cosi funziona, ma hai fatto diversi errori sia di scrittura (contachek invece che contacheck) che di logica (devi contare gli elementi per capire quale è spuntata) di sintassi gli id devono essere univoci i nomi non posso iniziare con un numero, consiglio torna sui libri.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Grazie a entrabi, ora mi guardo gli errori!

    Grazie ancora

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    codice:
     	var box = document.getElementsByTagName('input')
    Questo cosa significa?

    E di conseguenza questo controllo su cosa si riferisce..
    codice:
     if(box[i].type=="checkbox" && box[i].checked){

  6. #6
    Una cosa cosi ti può andare bene?

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml"
    <
    head
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Documento senza titolo</title>
    <
    script type="text/javascript">
    function 
    controlla()
    {
    var 
    massimo=2;
    var 
    quanti=0;
    var 
    campi=document.esempio.giocata;
    var 
    campotesto=document.getElementById("messaggio");
    for (
    indice=0;indice<campi.length;indice++)
    {
    if(
    campi[indice].checked)
    {
    quanti=quanti+1;
    }
    }
    if(
    quanti>2)
    {
    campotesto.innerHTML="SBAGLIATO";
    campotesto.className="sbagliato";
    }
    else
    {
    campotesto.innerHTML="CORRETTO";
    campotesto.className="corretto";
    }
    }
    </script>
    <style>
    .sbagliato
    {
    background:pink;
    font-size:30px;
    font-weight:bold;
    color:black;
    padding:10px;
    }
    .corretto
    {
    background:lightgreen;
    font-size:30px;
    font-weight:bold;
    color:black;
    padding:10px;
    }
    </style>
    </head>
    <body>
    <form id="esempio" name="esempio">
    VOCE 1 <input id="giocata" name="giocata" type="checkbox" value="1" />


    VOCE 2 <input id="giocata" name="giocata" type="checkbox" value="2" />


    VOCE 3 <input id="giocata" name="giocata" type="checkbox" value="3" />



    <input type="button" value="Gioca" id="primo" onclick="controlla();">



    <div id="messaggio"></div>
    </form>
    </body>
    </html> 

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    wow, grazie mille, ma sono in apprendimento perciò vorrei capire ciò che faccio e non fare copia incolla.. quindi...


    var campi = document.esempio.giocata;

    Tramite questo cosa prendi?

  8. #8
    Accedi alla collezione (insieme) di checbox di nome giocata.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Ma che azioni puoi fare? Cioè una volta che prendi l'oggetto checkbox, cosa puoi fare?
    Cosa contiene in sostanza?

  10. #10
    Puoi vedere ad esempio quali valori sono selezionati.
    O Quanti come in questo caso.

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.