• User Attivo

    Problema con select e refresh

    Salve, ho un form che prevede l'inserimento di diversi dati. Ad un certo punto c'è anche una select che prevede il refresh della pagina ogni volta che viene selezionata una voce.
    Questo è il codice
    [PHP]
    <select name="giorno_app<?php echo $cont?>" id="giorno_app<?php echo $cont?>" class="giornofac" onchange="document.forms[0].submit()">
    <option></option>
    <option value="venerdì" <?php if ($giorno_app[$cont] == "venerdì") echo "selected" ?>>venerdì</option>
    <option value="sabato" <?php if ($giorno_app[$cont] == "sabato") echo "selected" ?>>sabato</option>
    <option value="domenica" <?php if ($giorno_app[$cont] == "domenica") echo "selected" ?>>domenica</option>
    </select>
    [/PHP]

    Quello che mi occorre è che quando faccio il refresh della pagina il cursore deve posizionarsi all'altezza della select.
    Ho provato a mettere un ancora però non so come fare ad agganciarla con il refresh.

    Qualcuno sa darmi qualche indicazione?


  • ModSenior

    Ciao freebreathe,
    devi aggiungere alla fine dell'url #nome_ancoraggio per mandarlo su quel punto.


  • User Attivo

    Ciao, grazie della risposta.
    Ma qui l'url non esiste perché la pagina fa il refresh e solo allora deve posizionarsi all'altezza dell'ancora.
    Come posso fare?


  • ModSenior

    Il reflesh come avviene? A livello di codice intendo come lo hai impostato.


  • User Attivo

    E' nella select che ho postato sopra.
    Cmq lo fa con questo codice

    onchange="document.forms[0].submit()"


  • User

    Ciao, non son sicuro che sia la soluzione giusta, ma mi sa che il problema potrebbe essere in questa riga
    [PHP]<select name="giorno_app<?php echo $cont?>" id="giorno_app<?php echo $cont?>" class="giornofac" onchange="document.forms[0].submit()">[/PHP]

    prova con
    [PHP]<select name="giorno_app[<?php echo $cont?>]" id="giorno_app[<?php echo $cont?>]" class="giornofac" onchange="document.forms[0].submit()">[/PHP]

    se non funziona prova comunque a stamparti tutto $_POST per vedere cosa ti stai stai passando come variabili.
    A proposito a $giorno_app[$cont] gli passi il valore che ti passi col form tramite $_POST?


  • User Attivo

    Non cambia nulla.
    Il problema sta nel form e nella possibilità, dopo il refresh, di posizionarsi su un ancora.
    Il form inizia così
    [HTML]<form method="post" action="#">[/HTML]

    Se io riuscissi ad agganciare l'ancora all'action='#' avrei risolto il problema


  • User

    Questo è il mio metodo:

    apertura della form
    [PHP]<form name="dati" action="#" method="post">[/PHP]

    la select
    [PHP]<select tabindex="3" name="tipo">
    <?php
    require_once 'config.inc.php';
    $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or
    die ('Unable to connect. Check your connection parameters.');
    mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
    $domanda="SELECT tipo FROM macchine_tipologie ORDER BY tipo";
    $risposta=mysql_query($domanda, $db) or die (mysql_error($db));
    while ($row=mysql_fetch_array($risposta)){
    if ($row['tipo']==$_POST['tipo']) $sel='selected="selected"'; else $sel='';
    print ("<option ".$sel." value="".$row['tipo']."">".$row['tipo']."</option>");
    }//end while
    echo ('</select>');[/PHP]

    tralasciando il fatto che io popolo la select tramite dei valori salvati in un DB, il tutto a me funziona benissimo.

    Quello che non vedo nella tua parte di codice è come definisci la variabile $giorno_app[$cont] : se non è uguale a niente, allora non può essere né venerdì, né sabato e così via.