Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Valore variabile dentro un form

    Ho un form che contiene la seguente select

    <select name="qt" size="1">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    </select>

    ed inoltre un campo di visualizzazione del prezzo calcolato in base alla quantità selezionata. Ciò significa che se seleziono qt=1 allora il prezzo sarà 10, se qt=2 il prezzo deve essere 20 e così via.
    C'è un modo per prendere il valore della variabile qt subito dopo il selezionamento così da aggiornare il prezzo ?

  2. #2
    te lo riscrivo anche di qua,và


    <select name="qt" size="1" onchange="javascript:
    document.getElementById('nomecampodaaggiornare').v alue=(this.selectedIndex+1)*10;">

  3. #3
    Mi speigo meglio.
    <form ...>
    <select name="qt" size="1" onchange="javascript:document.getElementById('prez zo').value=(this.selectedIndex+1)*prezzo;">
    <?php echo"$prezzo"; ?> // visualizzazione del prezzo in base alla quantità selezionata
    </form>

    Quello che cerco è aggiornare il prezzo in base alla quantità selezionata: qt=1 ==> prezzo = 100.00 euro, qt=2 ==> prezzo = 200 euro
    ecc. ecc.

    Come si fa ?

  4. #4
    va bene così?
    <form ...>
    <select name="qt" size="1" onchange="javascript:document.getElementById('prez zo').value=(this.selectedIndex+1)* <?php echo "$prezzo"; ?>"> // visualizzazione del prezzo in base alla quantità selezionata
    </form>

    $prezzo deve essere un numero, non può essere ad esempio 100€, ma solo 100, e per i decimali ci vuole il punto, cioè 100.30 invece che 100,30

  5. #5
    Non funziona.

    <?php
    $prezzo = 100.00; // inizializzazione prezzo
    ?>

    <select name="qt" size="1" onchange="javascript:document.getElementById('prez zo').value=(this.selectedIndex+1)* <?php echo "$prezzo"; ?>">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    </select>
    <?php printf('%01.2f', $prezzo) ?>&euro // prezzo aggiornato alla quantità selezionata

    Dov'è l'errore ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Diciamo che e` una sintassi un po' approssimativa.

    <select name="qt" size="1" onchange="document.getElementById('prezzo').innerH TML = parseInt(this.options[this.selectedIndex].value, 10)* <?php echo "$prezzo"; ?>;">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>


    Costo totale: <span id="prezzo">0</span> &amp;euro;</p>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Ci siamo quasi.

    Con qt=1 ( di default ) mi viene visualizzato 0 Euro mentre se cambio la quantità viene visualizzato NaN euro !!

    Forse occorre inizializzare il prezzo base ma con
    <?php
    $prezzo = 499.00;
    ?>

    messo prima delle select non funziona

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Io non conosco bene PHP, per cui dentro PHP la sintassi potrebbe essere sbagliata.

    Tieni presente che il codice PHP viene risolto PRIMA di inviare la pagina al client. Verifica cosa arriva al browser (click destro -> mostra sorgente).

    Il codice dovrebbe esser qualcosa di questo tipo:
    <select name="qt" size="1" onchange="document.getElementById('prezzo').innerH TML = parseInt(this.options[this.selectedIndex].value, 10)*499.00;"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    fai un test,invece di mettere <?php echo "$prezzo"; ?> metti direttamente 499.00 ,vediamo se così funziona

  10. #10
    Non funziona

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.