Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [javascript]: Controllo campi radio non avviene

    Ho una lista di record, per ognuno ho inserito un radio button, ciò che vorrei fare è, che se l'utente seleziona almeno una riga attraverso il radio button si deve attivare il pulsante che lo faccia andare avanti, in caso contrario deve ritornare un messaggio di errore.

    Ho realizzato la funzione di cui sotto come prova ma non ne vuol sentire di funzionare correttamente, qualunque sia lo stato del campo, selezionato o non selezionato il campo mi torna sempre l'errore "Nessuna riga selezionata":

    for (i = 0; i < 3; i++)
    {
    (document.scheda.idscheda[i].checked == 1) ? alert('Selezionato') : alert ('Nessuna riga selezionata');
    }

    Ho forse fatto qualche errore nella funziona?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Hai provato con il true al posto del 1? Che errore riscontri? Con quale browser?
    Posta anche il form.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

    Soluzione

    Dopo una serie di ricerche ho trovato quello che mi serviva, posto il codice:
    codice:
    function valButton(btn)
    {
    var cnt = -1;
    for (var i = btn.length - 1; i > -1; i--) {
    if (btn[i].checked)
    {
    cnt = i;
    i = -1;
    }
    }
    if (cnt > -1)
    return btn[cnt].value;
    else
    return null;
    }
    function valForm(form)
    {
    var btn = valButton(form.idscheda);
    if (btn == null)
    alert('Nessuna scheda selezionata.');
    else
    document.location.href('index.php?pageid=dati_scheda&idscheda=' + btn);
    }
    <form action="#" name="visualizza_scheda">
    <input type="radio" name="idscheda" value="1"/>
    <input type="button" name="visualizza" onclick="valForm(visualizza_scheda); return false;">
    </form>
    Grazie,
    ciao.

  4. #4
    Mi sono accorto solo adesso che il codice postato precedentemente presenta un'errore che non riesco a risolvere, se è presente un solo campo radio lo script non lo vede e mi quindi restituisce l'alert "Nessuna scheda selezionata ".

  5. #5
    Se c'&egrave; un solo campo radio, btn non &egrave; un array, quindi ...
    Codice PHP:
    function valButton(btn)
    {
        
    // se btn non e' un Array (btn.length ritorna false), allora abbiamo un solo campo radio
        
    if (!(btn.length)) {
            
    // se btn e' checked, ritorno il suo value, altrimenti ritorno null
            
    return (btn.checked) ? btn.value null;
        }
        var 
    cnt = -1;
        for (var 
    btn.length 1> -1i--) {
            if (
    btn[i].checked)
            {
                
    cnt i;
                
    = -1;
            }
        }
    if (
    cnt > -1)
        return 
    btn[cnt].value;
    else
        return 
    null;

    Prova ...

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  6. #6
    Funziona, grazie tante.

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.