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

    Controllo dati su Form (costruito dinamicamente)

    Buongiorno a tutti,
    sono nuovo di queste parti...premetto che non sono esperto conoscitore di javascript. Ho ereditato un lavoro da completare dopo che il mio collega è andato via...ed ora sto leggermente impazzendo:

    Ho una videata che prende i dati dal server e costruisce una tabella di 6 colonne per 'n' righe a seconda del numero di utenti che hanno aderito all'iscrizione.
    Le prime tre colonne le compongo inserendo 'nomi', 'cognomi' e 'azienda'. Le altre tre, sarebbero tre checkbox: 'non abilitato', 'abilitato' e 'sospeso.
    Fino a qui ci sono arrivato seguendo una traccia di quanto l'altra persona aveva fatto fino a quel momento...ma ora sono bloccato!!!!

    Come faccio a far sì che quando venga dato il salva dati a fine pagina, se sono state apportate modifiche, lui controlli che per ogni riga (quindi per ogni utente) ci sia una scelta selezionata (una ed una sola)?

    Ringrazio in anticipo chiunque voglia darmi una mano...sto impazzendo!!!
    Buona giornata

    ps:Questa è la funzione fatta fino ad ora (al caricamento) dovrei quindi farne un'altra per il submit... giusto?

    <SCRIPT language="javascript">

    var numeroRighe = 3;

    var cognomi = new Array("Rossi","Verdi","Arienti");
    var nomi = new Array("Giulio","Mario","Andrea");
    var aziende = new Array("Azienda01","Azienda02","Azienda03");

    var non_abilitato = new Array("S","N","N");
    var abilitato = new Array("N","S","N");
    var sospeso = new Array("N","N","S");




    function caricadati()
    {

    // questa funzione serve per costruire n righe a seconda del numero di registrati

    var x = 0;
    var tabella = document.getElementById("elenco");
    for(x=0; x<numeroRighe; x++)

    {

    // costruisce il contenuto delle prime 3 colonne ed incrementa le righe:
    tabella.rows[x+1].cells[0].innerHTML = cognomi[x] ;
    tabella.rows[x+1].cells[1].innerHTML = nomi[x] ;
    tabella.rows[x+1].cells[2].innerHTML = aziende[x] ;

    // anche il nome e l'id dei check vengono incrementati di 1 volta che faccio un giro
    var nomeCampo_na = "non_abilitato"+x;
    var nomeCampo_a = "abilitato"+x;
    var nomeCampo_s = "sospeso"+x;

    // costruisce i checks delle altre 3 colonne ed incrementa le righe:
    var scelta_non_abilitato = "<input type='checkbox' name='"+nomeCampo_na+"' id='"+nomeCampo_na+"' value='non_abilitato'/>";
    tabella.rows[x+1].cells[3].innerHTML = scelta_non_abilitato;

    // seleziona il campo:
    if(non_abilitato[x] == 'S')
    {
    document.forms['registrazioni'].elements[nomeCampo_na].checked=true
    // alert("ho verificato che non è abilitato");
    }

    var scelta_abilitato = "<input type='checkbox' name='"+nomeCampo_a+"' id='"+nomeCampo_na+"' value='abilitato'/>";
    tabella.rows[x+1].cells[4].innerHTML = scelta_abilitato;

    // seleziona il campo:
    if(abilitato[x] == 'S')
    {
    document.forms['registrazioni'].elements[nomeCampo_a].checked=true
    // alert("ho verificato che è abilitato");
    }

    var scelta_sospeso = "<input type='checkbox' name='"+nomeCampo_s+"' id='"+nomeCampo_na+"' value='sospeso'/>";
    tabella.rows[x+1].cells[5].innerHTML = scelta_sospeso;

    // seleziona il campo:
    if(sospeso[x] == 'S')
    {
    document.forms['registrazioni'].elements[nomeCampo_s].checked=true
    // alert("ho verificato che è sospeso");
    }

    }
    }

    </SCRIPT>

  2. #2
    ecco risolto!!!!!!!!!!
    Grazie comunque a tutti...buona giornata!
    m

    function ControllaForm()
    {

    var x = 0;
    var controllo=true;
    for(x=0; x<numeroRighe; x++)

    {

    // anche il nome e l'id dei check vengono incrementati di 1 volta che faccio un giro
    var nomeCampo_na = "non_abilitato"+x;
    var nomeCampo_a = "abilitato"+x;
    var nomeCampo_s = "sospeso"+x;

    var selected = 0;


    if (document.forms['registrazioni'].elements[nomeCampo_na].checked)
    selected = selected +1;
    if (document.forms['registrazioni'].elements[nomeCampo_a].checked)
    selected = selected +1;
    if (document.forms['registrazioni'].elements[nomeCampo_s].checked)
    selected = selected +1;
    if(selected == 0)
    {
    alert("ATTENZIONE! Non per tutti gli utenti è stato definito uno stato");
    return false;
    }
    else
    if(selected > 1)
    {
    alert("ATTENZIONE! Lo stato di un utente non è stato definito univocamente");
    return false;
    }
    return true;
    }
    }

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.