Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    aiuto calcolare campi input in automatico

    ciao,
    come potete vedere ho creato questo form con un campo select che prende dal db un prodotto

    dalla tabella articoli e ogni prodotto ha un valore numerico che l'utente deve inserire manualmente nel campo input e alla fine preme sul pulsante calcola ed effettua il calcolo con il limite a 50.

    quello che cerco di fare e che l'utente appena seleziona il prodotto il valore numerico associato si vada ha visualizzare nel campo input senza doverlo scrivere manualmente e appena riempito tutti i campi venga effettuato il calcolo senza dover cliccare sul pulsante calcola senza refresh della pagina.

    qualcuno mi ha detto che quello che voglio fare e possibile farlo con javascript e ajax ma non so da dove incominciare quindi vi chiedo almeno di illustrarmi le basi per iniziare a scrivere il codice.

    il form funziona e spero che potete aiutarmi.

    <form id="articoli" name="articoli" method="POST" action="<?php echo $_SESSION['PHP_SELF']; ?>"> <div id="punti">
    <span>punti</span>

    <?php if(isset($_POST['calcola'])){
    $g1 = $_POST['g1'];
    $g2 = $_POST['g2'];
    $g3 = $_POST['g3'];

    if(empty($g1) && empty($g2) && empty($g3)){

    echo ("devi riempire tutti i campi.<a href='javascript:history.back();'>Indietro</a>"); }elseif( $g1+$g2+$g3 > 50) {

    echo ("hai superato i 50 punti.<a href='javascript:history.back();'>Indietro</a>"); }else{
    echo $g1+$g2+$g3 ;
    echo "<a href='javascript:history.back();'>Modifica</a>" ; } } ?>
    </div>
    <label>articolo</label>
    <select name="articolo">
    <?php$sql = "SELECT * FROM articoli ORDER BY prodotto";$result = mysql_query($sql);while($row = mysql_fetch_array($result)){echo "<OPTION VALUE=\"".$row["prodotto"]."\">".$row["prodotto"]."</OPTION>";
    }?>
    <input type="text" maxlength="2" name="g1" /></select>

    <select name="formazioni">
    <?php$sql = "SELECT * FROM articoli ORDER BY prodotto";$result = mysql_query($sql);while($row = mysql_fetch_array($result)){echo "<OPTION VALUE=\"".$row["prodotto"]."\">".$row["prodotto"]."</OPTION>";
    }?><input type="text" maxlength="2" name="g2" />
    </select>

    <select name="formazioni"> <?php$sql = "SELECT * FROM articoli ORDER BY prodotto";$result = mysql_query($sql);while($row = mysql_fetch_array($result)){echo "<OPTION VALUE=\"".$row["prodotto"]."\">".$row["prodotto"]."</OPTION>";
    }?>
    <input type="text" maxlength="2" name="g3" />
    </select>
    <input type="submit" name="creare" value="CREA" />
    <input type="submit" name="calcola" value="CALCOLA" />
    </form>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi aprire la stessa discussione in forum diversi (crossposting) quando sbagli, come in questo caso, chiedi al moderatore della sezione di spostarla, non aprirne un'altra.

    Chiudo in attesa di spostamento dell'altra, che vuole puo' cominciare a pensare ad una possibile soluzione.

    ps: quando posti il codice vedi di racchiuderlo fra i tag appositi, ad esempio [ code ] e [ /code ] (senza gli spazi)

    pps: quando posti in javascript devi postare il codice che riceve il browser, non quello che il server deve ancora interpretare (PHP) qui non si e' tenuti a conoscere altri linguaggi oltre il js e cio' che arriva al browser ed al suo interprete js non sempre e' deducibile dal codice sorgente lato server.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Tag per questa discussione

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.