Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    63

    Recupero testo di una select

    Ciao a tutti,
    qualcuno sa dirmi come faccio a recuperare il testo selezionato di una select, nel caso si abbiano dei form dinamici?

    Mi spiego, es se ho 2 oppure anche 10 form del tipo

    <form id="form1" name="form1" method="post" action="">
    <select name="select">
    <option value="1">Pippo</option>
    <option value="2">Pluto</option>
    <option value="3">Topolino</option>
    </select>
    </form>
    <form id="form2" name="form2" method="post" action="">
    <select name="select2">
    <option value="1">Paperino</option>
    <option value="2">Gasrone</option>
    <option value="3">Paperina</option>
    </select>
    </form>

    Selezionando sul form 1 l'opzione 2 come faccio a recuperare la parola pluto?

    Grazie

  2. #2
    mmm devi prendere l'innerHTML della option:

    codice:
    document.forms['form1'].select.options[document.forms['form1'].select.selectedIndex].innerHTML;
    P.S. usare select come name di una select è una pessima idea. Mettici almeno MySelect o qualcosa di simile. O, se stai facendo un test, chiamala test, test1, e così via.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    63
    In pratica vorrei fare quello che fa questo script, memorizzare testo e valore in due campi nascosti, solo che in questo script vi è un solo form e diverse select, io vorrei applicare lo script a diversi form sulla stessa pagina, le select possono anche essere fisse

    <SCRIPT type="text/javascript">
    function aggiornaHidden(sel){
    var f = document.frm;
    var val = eval('f.'+ sel.name +'_value');
    var txt = eval('f.'+ sel.name +'_text');
    if (val && txt){
    val.value = sel.options[sel.selectedIndex].value;
    txt.value = sel.options[sel.selectedIndex].text;
    }
    }
    </SCRIPT>

    <FORM name="frm">

    <SELECT name="sel1" onchange="aggiornaHidden(this)">
    <OPTION value="" selected> Scegli
    <OPTION value="A"> Opzione 1
    <OPTION value="B"> Opzione 2
    <OPTION value="C"> Opzione 3
    </SELECT>
    <INPUT type="hidden" name="sel1_value">
    <INPUT type="hidden" name="sel1_text">




    <SELECT name="sel2" onchange="aggiornaHidden(this)">
    <OPTION value="" selected> Scegli
    <OPTION value="1"> Opzione I
    <OPTION value="2"> Opzione II
    <OPTION value="3"> Opzione III
    </SELECT>
    <INPUT type="hidden" name="sel2_value">
    <INPUT type="hidden" name="sel2_text">

    </FORM>

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se hai + form devi rendere anche il form dinamico (identico concetto delle select) prova cosi:
    codice:
    <SCRIPT type="text/javascript">
    function aggiornaHidden(ff,sel){
    var f = document.forms[ff];
    var val = eval(f+'.elements['+ sel.name +']_value');
    var txt = eval(f+'.elements['+ sel.name +']_text');
    if (val && txt){
    val.value = sel.options[sel.selectedIndex].value;
    txt.value = sel.options[sel.selectedIndex].text;
    }
    }
    </SCRIPT>
    <SELECT name="sel2" onchange="aggiornaHidden(this.form,this)">
    ma semplificheresti il tutto usando il DOM
    guida
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    63
    Provato in qs modo ma non funziona, funziona solo se con il vecchio codice rendo dinamico script e form...

    <SCRIPT type="text/javascript">
    function aggiornaHidden(ff,sel){
    var f = document.forms[ff];
    var val = eval(f+'.elements['+ sel.name +']_value');
    var txt = eval(f+'.elements['+ sel.name +']_text');
    if (val && txt){
    val.value = sel.options[sel.selectedIndex].value;
    txt.value = sel.options[sel.selectedIndex].text;
    }
    }
    </SCRIPT>

    <FORM name="frm1">

    <SELECT name="sel1" onchange="aggiornaHidden(this.form,this)">
    <OPTION value="" selected> Scegli
    <OPTION value="A"> Opzione 1
    <OPTION value="B"> Opzione 2
    <OPTION value="C"> Opzione 3
    </SELECT>
    <INPUT type="hidden" name="sel1_value">
    <INPUT type="hidden" name="sel1_text">




    <SELECT name="sel2" onchange="aggiornaHidden(this.form,this)">
    <OPTION value="" selected> Scegli
    <OPTION value="1"> Opzione I
    <OPTION value="2"> Opzione II
    <OPTION value="3"> Opzione III
    </SELECT>
    <INPUT type="hidden" name="sel2_value">
    <INPUT type="hidden" name="sel2_text">

    <input type="submit" value="Submit" />
    </FORM>

    <FORM name="frm2">

    <SELECT name="sel1" onchange="aggiornaHidden(this.form,this)">
    <OPTION value="" selected> Scegli
    <OPTION value="A"> Opzione 1
    <OPTION value="B"> Opzione 2
    <OPTION value="C"> Opzione 3
    </SELECT>
    <INPUT type="hidden" name="sel1_value">
    <INPUT type="hidden" name="sel1_text">




    <SELECT name="sel2" onchange="aggiornaHidden(this.form,this)">
    <OPTION value="" selected> Scegli
    <OPTION value="1"> Opzione I
    <OPTION value="2"> Opzione II
    <OPTION value="3"> Opzione III
    </SELECT>
    <INPUT type="hidden" name="sel2_value">
    <INPUT type="hidden" name="sel2_text">

    <input type="submit" name="Submit" value="Submit" />
    </FORM>

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.