Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Funzione selected

  1. #1

    Funzione selected

    Spero di spiegarmi bene...

    Per non stare sempre a scrivere codice html inerente la costruzione di un form, ho pensato di avere una libreria di funzioni per ogni tipo di input.
    Ho creato una funzione che costruisce un tag select e fin qui tutto a posto.
    Il problema nasce quando voglio effettuare un controllo sullo stesso.
    ho bisogno di selezionare una regione e farmi restituire su di un campo sottostante tutti i comuni di quella regione. dovendo inviare al server la prima richiesta e non volendo perdere la valorizzazione della select con la regione selezionata, ho pensato di comparare il dato inviato con il dato ricevuto e se sono uguali aggiungo l'attributo selected sulla option.

    il codice è il seguente, in pratica non riesco a reperire il valore della select da comparare.


    nel file dove costruisco il form ho scritto questo:

    <?php
    html_tag_selectED('Regione o stato estero','sel_regione','2',$lung_option,$option);
    ?>



    la funzione è la seguente:

    function html_tag_selectED($labelsel,$namesel,$sizesel,$nop tion,$valoption){
    $sel=$labelsel."<select name=\"$namesel\" onchange=\"inviaCambiamenti();\">\n";
    if (isset($noption) && $noption!=0){
    $valuenamesel="$".$namesel;
    ?><script>alert('valore di namesel '+ "<?=$valuenamesel?>")</script><?
    $sel=$sel."<option value=\"\"></option>\n";
    foreach($valoption as $k => $v){
    if(!empty($namesel)){
    if($v!=$valuenamesel){

    $sel=$sel."<option value=\"$v\">$v</option>\n";}
    else{$sel=$sel."<option value=\"$v\" selected>".$v."</option>\n";}
    }else{$sel=$sel."<option value=\"$v\">".$v."</option>\n";}
    }
    }
    $sel=$sel."</select>\n";
    echo $sel;
    }

    Ho scritto qualche castroneria???

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    Ho visto al volo il tuo script, se ho ben capito quello che fai il problema potrebbe essere:

    $valuenamesel="$".$namesel;

    in pratica a quanto pare tu vorresti avvalorare $valuenamesel con un altra variabile che contiene il valore della combo passato in GET o in POST, ma dovresti usare la funzione eval perchè quello che hai fatto tu è avvalorare $valuenamesel con la stringa "$valore_di_namesel" invece devi dire a php di interpretare quella stringa come una istruzione, e per far questo devi utilizzare

    eval("\$valuenamesel=\$".$valuenamesel.";").

  3. #3
    Putroppo il problema permane,
    non riesco a costrurmi la variabile, contenando la stringa "$" con il valore della stringa "$namesel".
    con questa istruzione
    eval("\$valuenamesel=\"$\".$namesel;");
    Riesco a farmi stampare la stringa composta dalla concatenazione che viene così: "$sel_regione", che poi è il nome che effettivamente assume il nome della select, ma non il suo valore.

    Ho l'impressione che non si possa fare, che ne dite?

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.