Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    32

    Aggiornare il valore di una input quando cambia il valore di una select

    Ciao a tutti. Non so se postare il problema qui o in PHP in quanto il mio sito e' in PHP ma credo che la soluzione possa arrivare da uno script.

    Devo assegnare ad un evento onchange() una funzione PHP, e' possibile?

    La funzione prende come valore il valore della select chiamata "promocode" e ritorna la descrizione e la assegna ad una input.
    Vorrei fare in modo che ogni volta in cui seleziono un valore diverso nella select la mia funzione php viene lanciata con il valore selezionato e che il campo input venga automaticamente aggiornato.

    Qui ho il codice dei miei campi.

    <tr>
    <td>Promocode :</td>
    <td>
    <select style="width:205px;" name="discountCode"">
    <option value="">Default</option>
    <?php
    $resProvince = $objservice->getPromocode(-1);
    while($rowProvince = mysql_fetch_object($resProvince)){
    if($rowProvince->promoCode != ""){?>
    <option value="<?php echo $rowProvince->promoCode;?>" <?php if($rowProvince->promoCode == str_replace('"', '',$E_row->discountCode) ) echo "selected"; ?>><?php echo $rowProvince->promoCode;?></option>

    <?php }} ?>
    </select>
    </td>
    </tr>
    <tr>
    <td>Description :</td>
    <td>
    <?php
    $resDesc = $objservice->getpromoDescription($E_row->discountCode);

    while($rowDesc = mysql_fetch_object($resDesc)) { ?>
    <?php } ?>
    <input type="text" style="width:200px;" name="promoDescription" width="150" value="" />
    </td>
    </tr>


    Questo ovviamente funziona quando la form viene caricata la prima volta ma non quando il valore del campo "promocode" viene cambiato.

    Penso che dovrei assegnare all'evento onchange() della select "promocode" il compito di risolvere il problema ma non sono sicuro di come fare.
    Grazie

  2. #2
    in php l'unico metodo è far aggiornare la pagina ad ogni modifica...l'alternativa è javascript

    all' onchange fai partire una funzione con degli if che capiscono cosa è selezionato e agiscono di conseguenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    32
    Grazie. Quindi ho deciso di caricare gia' al loading della pagina tutte le descrizioni dal database cosi' le ho a disposizione.

    A questo punto devo dire all'onchange() che quando il campo select "discountCode" cambia deve cambiare automaticamente il value della input "discountDescription" assegnandogli il valore corrispondente.

    In ogni caso devo far partire un ciclo php per scorrere tutti i record finche' non trova il codice corretto. Come faccio a lanciare una funzione php tramite l'onchange? O posso fare la stessa cosa con un javascript visto che tutti i valori che mi servono son gia' caricati?

    Scusate ma con javascript non ho molta confidenza

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Se opti per la soluzione caricare tutti i dati al load della pagina devi popolare una Array js tipo var descrizione = new Array('<? echo arrayphp; ?>') per ogni array corrisponderà una option della select, oppure non carichi i dati inizialmente e fai delle chiamate ajax entrambe le operazioni non sono facilissime e bisogna conoscere entrambi i linguaggi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    32
    PEnso che l'array sia a questo punto la soluzione piu' semplice.
    So che chiedo molto ma potresti scrivermi qualche riga di codice?

    Ti ringrazio

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.