Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91

    Problema Controllo Radio Button

    Salve,

    io devo controllare che sia stato selezionato un radio button per proseguire al modulo successivo.

    Il codice è il seguente:
    function check_mod() {
    var controllo = false;
    var bottone = document.modify.toModify;
    for(var i=0; i<bottone.length; i++) {
    if(bottone[i].checked) {
    controllo = true;
    break;
    }
    }
    if(!controllo) {
    alert("Deve essere selezionata una news da modificare.");
    return false;
    }
    return true;
    }

    Finchè i radio button presenti sono due o più, il problema non esiste, infatti controlla perfettamente.
    Il problema sorge quando i radio button presenti sono solo 1. Quindi mi visualizza il messaggio come se non ne fosse stato selezionato nessuno.

    Chi sà qual è l'errore la prego di aiutarmi...

    Grazie, kuilsera

  2. #2
    questo succede perchè se hai solo un oggetto radiobutton la proprietà length è 0
    in quanto il riferimento non rappresenta un array di oggetti

    una soluzione molto banale ma efficace è quella di inserire un radiobutton nascosto con lo stesso nome ed iniziare il ciclo da 1

    codice:
    var bottone = document.modify.toModify;
    for(var i=1; i<bottone.length; i++) 
    {
         ...
    }
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  3. #3
    codice:
    function check_mod() {
    var controllo = false;
    var bottone = document.modify.toModify;
    
    if (bottone[0] == undefined) { // se c'è un solo check, bottone non è un array!
      controllo = bottone.checked;
    }
    
    for(var i=0; i<bottone.length; i++) {
    if(bottone[i].checked) {
    controllo = true;
    break;
    }
    }
    if(!controllo) {
    alert("Deve essere selezionata una news da modificare.");
    return false;
    }
    return true;
    }
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91
    Grazie mille dell'aiuto...

    Ora va benone

    Grazie ancora, kuilsera

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.