Visualizzazione dei risultati da 1 a 9 su 9

Discussione: richiamo di radio

  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    richiamo di radio

    ciao , questa sintassi può essere giusta?

    var radio = document.forms['report_fido'].getElementsByID['adde'].value;

    io ho un form report_fido

    devo caricare una serie di radio e incluse nella pagina del forrm e verificare se ce ne sono di piene o no .

    il resto dello script è questo:

    codice:
    	if ((radio == "") || (radio == false)){
    			alert("inserire un tempo di evasione");
    			return false;
    	}

  2. #2
    Secondo me dovrebbe andare cosi

    Crei una funzione mycheck per il controllo dei radio
    dove il nome del form ad esemoio è myform
    e il gruppo dei radiobox è mygruppo

    <script type="text/javascript">
    function mycheck ()
    {
    if (!document.myform.mygruppo[0].checked)
    {
    return false;
    }
    if (!document.myform.mygruppo[1].checked)
    {
    return false;
    }
    else return true;
    }
    </script>

    Naturalmente va bene se hai pochi radio senno devi mettere il tutto dentro un ciclo di controllo

  3. #3
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    l'ho dovuto addattare leggermente e mettere un for...
    ma ora ho cominciato a capire come funziona , pian piano...
    grazie a tutti voi!

    ciao

  4. #4
    In effetti se avevi piu di 2 3 voici non era bello fare 20 if ahahah ma meglio un ciclo sul controllo lenght del componente... e vedere se almeno uno è attivato.

    A presto

  5. #5
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ciao , allora , 2 giorni di pazzia , non riesco a gestire la situazione questo e il codice:
    codice:
    function Validator()
    {
    // Variabili associate ai campi del modulo
     var denomina = document.report_fido.denomina.value;
     var citta = document.report_fido.citta.value;
    //Se la cità ha valore nulllo o se è indefinito 
     if ((denomina== "") || (denomina== "undefined"))
     {
      alert("Il campo Denominazione è obbligatorio.");
      document.report_fido.denomina.focus();
      return false;
     }
    //Se la cità ha valore nulllo o se è indefinito 
     if ((citta== "") || (citta== "undefined"))
     {
      alert("Il campo Città è obbligatorio.");
      document.report_fido.citta.focus();
      return false;
     }
    
    var bottone = document.nome_form.radiobutton;
    for(var i=0; i< bottone.length; i++) {
    
      if( (bottone[i].checked) || ($_GET['nome'] == 'C01')) {
         return true;
         break;
        
        }else{
         alert("Bisogna selezionare il radio!");
         return false;
        
      }
    //INVIA IL MODULO
    return (true);
    }
    //--> 
    </script>
    perchè mi funziona solo in parte???


    la condizione di C01 non ha radio e funziona , mentre la C02 ha dei radio già selezionati , ma da sempre il messaggio di alert.
    come mai ?

    ciao e grazie

  6. #6
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    var denomina = document.report_fido.denomina.value;
    var citta = document.report_fido.citta.value;

    if ((denomina== "") || (denomina== "undefined"))
    Evita di dare lo stesso nome a una variabile e ad un elemento; puoi diversificare anche col maiuscolo/minuscolo.

    undefined senza apici, altrimenti diventa una parola (stringa); a meno che non hai effettivamente fissato value="undefined" in qualche radiobutton.

    if( (bottone[i].checked) || ($_GET['nome'] == 'C01')) {
    Se questo ti viene scritto dal PHP al caricamento della pagina, allora va introdotto coi Tag di apertura e chiusura per un pezzetto di PHP, e "stampato" con echo o con print

    if( (bottone[i].checked) || (<?php echo $_GET['nome']; ?> == 'C01')) {

  7. #7
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    grazie , domani provo e vi farò sapere ... posterò il codice corretto cosi potrà essere d'esempio sempre se riuscirò a farlo!


    buona notte e ciao

  8. #8
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    la parte dei controlli radiobutton non funziona , sicuramente è sbagliato il ciclo.

    se lascio il primo radio deselezionato mi da l'avviso , mentre se lo clicco mi da bravo ma se lascio deselezionato il secondo oppure lo checco non cambia nulla, mi da sempre l'avviso di errore!

    lasciate stare il fatto che dopo bravo avrei dovuto mettere true , ma cosi facendo non invia le mail ad ogni tentativo

    cmq deve esserci qualcosa sul ciclo, ma non lo vedo.

    grazie e ciao

    codice:
    <script	type="text/javascript">
    <!-- 
    function Validator() 
    { 
    // Variabili associate ai campi del modulo 
    	var deno = document.report_fido.denomina.value;
    	var city = document.report_fido.citta.value;
    
    	if ((deno== "") || (deno== undefined)) 
    	{ 
    		alert("Il campo Denominazione è obbligatorio."); 
    		document.report_fido.denomina.focus(); 
    	 	return false; 
    	}
    
    
    	if ((city== "") || (city== undefined)) 
    	{ 
    		alert("Il campo Città è obbligatorio."); 
    		document.report_fido.citta.focus(); 
    		return false; 
    	}
    
    
    //CONTROLLO SUI RADIOBUTTON
    //dichiarazione delle variabili di utilizzo
    var conteggio = 0 ; 
    //cicliamo n volte quanti sono i radiobutton
    for(var i=0; i< document.report_fido.length; i++) {
    //se il radiobutton è selezionato oppure se la variabile 'var' è uguale a C01 o C02
      if(!(document.report_fido.adde[i].checked)) {
    //se no, visualizziamo un messaggio e ritorniamo falso
      	alert("Inserire tempo di evasione");
       return false;
       //ritorniamo un valore vero e usciamo dal ciclo
      }else if (document.report_fido.adde[i].checked) {
      	alert("bravo");
      	return false;
      	break;
      }
    }
    
    
    //INVIA IL MODULO 
     return true; 
    } 
    
    //-->	
    </script>

  9. #9
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ho risolto cosi :
    codice:
                                         //CONTROLLO DEI RADIOBUTTON
    <script type="text/javascript">
    function Radio(){
    //dichiarazione variabili
    var controllo = false;
    var i=0;
    //creiamo un'array per l'inserimento dei radiobutton
    var contenitore = new Array (numero_di_celle);
    //varibile di comodo
    var radio = document.forms['nome_form'].nome_radiobutton;
    //C01 non ha inserimenti , lo escludiamo dal controllo , C01 sarà sempre true
     if ('<? echo $_GET['var'];?>' == 'C01' ){
      controllo = true;
     }
    //cicliamo tutti i radiobutton con nome_del_radio presenti nella pagina
     for (i = 0 ; i < radio.length; i++){
    //inseriamo tutti i radiobutton nell'array 
    //per i radio:(contenitore[i] = radio[i];) per i checkbox (contenitore[i] = radio;)
      contenitore[i] = radio[i];
    //se il nostro contenitore contiene valori veri(ceccati) ritornerà true e fermerà il ciclo
      if ((contenitore[i].checked)){
        controllo = true;
       return true;
       break;
    //se non ceccati torniamo falso
      }else if (controllo == false){
       controllo = false;
     }
    }
     if (controllo == false){
      alert("ERRORE");
      return false;
     } 
    //INVIA IL MODULO
    return (true);
    }
    //--> 
    </script>
    da notare che ce una leggera differenza quando vogliamo ciclare un cehckbox o un radiobutton ed è questa :

    radiobutton:
    codice:
    contenitore[i] = radio[i];
    cehckbox:
    codice:
    contenitore[i] = radio;
    cambia solo il ciclo dell'array , lunedi vi posto la pagina web dove ho trovato queste micro differenze!

    ciao

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.