• User Newbie

    Campo form incrementabile

    Ciao a tutti!

    Sono in difficoltà con dei controlli javascript su un form php ricavato da un ciclo while di dati presi da db.

    Ho un campo numerico che devo far aumentare o decrementare ogni volta che l'utente clicca su dei tastini di + o - che vanno ad aumentare o diminuire il campo ASSEGNA del form.. e questo per tutte le righe del ciclo!

    Come posso fare?

    Il form è composto così:

    
    <input name="PUNTIRIM"  type="text" class="tChiaro" size="10" id="PUNTIRIM" readonly="yes" />
     //questo è il campo che deve modificarsi automaticamente
     
    <input type="hidden" name="IDAB" value="<?=$ABIL_ID?>" id="IDAB">
    <input type="button" value=" - " onClick="javascript:this.form.ASSEGNA.value--;" class="tChiaro">&nbsp;<input type="text" name="ASSEGNA" value="0" size="3" class="tChiaro" onChange="update();" id="ASSEGNA"><input type="button" value=" + " onClick="javascript:this.form.ASSEGNA.value++;" class="tChiaro">
    
    

    Il campo ASSEGNA di ogni riga del form (di cui non conosco il numero), deve aggiornare automaticamente il campo PUNTIRIM

    E poi con un submit unico mando il valore aggiornato di PUNTIRIM al db, e in una tabella ciascun ASSEGNA associato all'IDAB.

    Come posso fare?

    Grazie in anticipo a tutti :smile5:


  • User Attivo

    Scusa ma non ho capito la domanda! 😉


  • User Newbie

    La chiarezza non è stata il mio forte, dici? 😄

    Allora:

    Ho un campo di un form chiamato PUNTIRIM che inizialmente prende il valore dal db. Questo campo deve venire incrementato o decrementato da altre righe del form create da un ciclo while di questo tipo:

    
    <? while ($valore=mysql_fetch_array($query)){
    $ID=$valore["ID"];
    $ABILITA=$valore["ABILITA"];
    $GRADI=$valore["GRADI"];
      ?>
     
    <p><?=$ABILITA?> 
    <input type="text" name="<?=$ID?>" value="<?=$GRADI?>" id="<?=$ID?>">
    <input type="button" value=" - " onClick="javascript:this.form.<?=$ID?>.value--;" class="tChiaro">
    <input type="button" value=" + " onClick="javascript:this.form.<?=$ID?>.value++;" class="tChiaro">
    </p>
    
    
    

    (ho cambiato leggermente il form dietro consiglio di un altro esperto)

    Ogni volta che l'utente aumenta il campo $ID, il campo PUNTIRIM deve sommare
    o detrarre il valore di $ID; questo per tutte le righe del ciclo.

    Con un Submit, il valore finale di PUNTIRIM viene trasmesso con un update al db.

    Come posso fare per dire a PUNTIRIM di aggiornarsi ogni volta che vengono cliccati
    i tasti + o - che modificano l' $ID?

    Spero di essere stata più chiara ora :smile5:


  • User Newbie

    ..non sono stata piu' chiara? 😞


  • User Attivo

    sisi, molto più chiara, o almeno io ho capito meglio....

    faccio qualche test e vedo, dato che anche io in un mio progetto, avevo usato questo sistema, e aveva funzionato correttamente...

    nello script prova a mettere:

    
    javascript: document.getElementById('<?php echo $id; ?>').value++;
    
    

    oppure

    
    javascript: document.getElementById('<?php echo $id; ?>').value = javascript: document.getElementById('<?php echo $id; ?>').value+1;
    
    

    fammi sapere se funziona meglio, anche se dubito...