Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    23

    Disabilitare select multipla definita come "nomeselect[]"

    Ragazzi sto facendo una pagina dove ho un radio button dove si devono specificare i destinatari di una comunicazione:

    La scelta la faccio tramite un solo radio button (a cui assegno certi valori), se clicco uno solo di questi radio button con valore ("uno_o_piu" persone) devo abilitare una select a scelta multipla.

    ecco il codice:

    Solo Affiliati<input type=radio name="tipo_man_aff" value="affiliati" onClick=disattivacampi();>
    Solo Mediapoint<input type=radio name="tipo_man_aff" value="aree_mediapoints" onClick=disattivacampi();>
    Solo Manager<input type=radio name="tipo_man_aff" value="aree_manager" onClick=disattivacampi();>
    Uno o più singoli<input type=radio name="tipo_man_aff" value="uno_o_piu" onClick=disattivacampi();>
    Tutti<input type=radio name="tipo_man_aff" value="tutti" onClick=disattivacampi();>

    Se scelgo "uno_o_piu" devo abilitare questa select definita in questo modo per leggermi col php le scelte eseguite:
    <select name="id_operatore[]" multiple>
    <option value=$id_destinatari>$nomedestinatario</option>
    </select>

    la funzione disattivacampi(); è questa:

    function disattivacampi()
    {
    var radioLength = document.comunicazioni.tipo_man_aff.length;
    for (i = 0; i <radioLength; i++)
    {
    if (document.comunicazioni.tipo_man_aff[i].checked)
    {
    chosen = document.comunicazioni.tipo_man_aff[i].value;
    }
    }
    //disabilito la select
    if (chosen!="uno_o_piu")
    {
    document.comunicazioni.id_operatore.options[0].selected=true;
    document.comunicazioni.id_operatore.disabled=true;
    }
    //abilito la select multipla
    else
    {
    document.comunicazioni.id_operatore.options[0].selected=true;
    document.comunicazioni.id_operatore.disabled=false ;
    }
    }


    Il problema che mi si presenta è che se chiamo la select "id_operatore[]" il javascript mi dà errore, invece se la chiamo "id_operatore" e basta ovviamente funziona tutto. Solo che per leggere con il php tutte le scelte multiple che posso compiere attraverso la select devo chiamare la variabile perforza "id_operatore[]".

    Come posso fare a far capire al javascript il nome della select con le parentesi quadre??

    L'errore che mi genera è:
    document.comunicazioni.id_operatore.options è nullo o non è un oggetto.

    Ovviamente ricordo che se definisco la select chiamandola con il nome "id_operatore" non ho alcun problema. Attivo e disattivo il tutto senza errori.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    23
    RISOLTO!!!

    Allora ragazzi scusate...ma dopo un giorno di ricerche finalmente ho trovato la soluzione.
    Bisogna utilizzare la seguente sintassi e l'oggetto elements:

    La mia select si chiama "id_operatore[]" allora il javascript la rilverà come:

    document.comunicazioni.elements['id_operatore[]'].options[0].selected=true;
    document.comunicazioni.elements['id_operatore[]'].disabled=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.