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

    Rompicapo: calcolo particolare su 3 campi con js

    scusate ma avrei questo angosciante problema e non conosco assolutamente il javascript.
    Se riuscite a darmi una mano mi fate un uomo felice.
    Vi spiego

    Ho questi 3 campi:
    codice:
    <form name="calco"> 
        <input type="text" name="riservare"> 
        <input type="text" name="ordinare"> 
        <input type="text" name="reintegrare">
        <input name="disponibili" type="hidden" id="disponibili" value="x">
    </form>
    Le RELAZIONI che legano fra loro questi campi sono le seguenti:
    codice:
    ordinare<=disponibili [sempre e imprescindibile]
    reintegrare=riservare-disponibili
    Quindi ecco un esempio tipo:
    codice:
    Caso in cui i prodotti da riservare siano MENO di quelli disponibili
    riservare= 50
    ordinare= 20
    reintegrare= 30
    disponibili= 20
    In pratica ho bisogno che "onKeyup" al variare ad esempio del valore "riservare" a 60, mi cambi il campo "reintegrare" in 40 in base al calcolo "reintegrare=riservare-disponibili".

    Da tenere presente che devo IMPEDIRE che il campo "ordinare" assuma un valore maggiore del valore "disponibili". (quindi se scrivo 30 il js mi reinserisca 20).

    Io per adesso mi sto basando su questo semplice script che ho trovato su un altro topic e lo sto adattando...
    codice:
    <script language="JavaScript"> 
    function calcolo(){ 
    var importo=document.calco.imp.value 
    var quant=document.calco.num.value 
    cal=importo*quant 
    document.calco.tot.value=cal 
    
    } 
    </script> 
    
    <form name="calco"> 
      
    
    questo X quest'altro = questo qui </p>
      
    
    
        <input type="text" name="imp" value="50" onKeyUp="calcolo()"> 
        <input type="text" name="num" onKeyUp="calcolo()"> 
        <input type="text" name="tot" disabled> 
        </p>
    </form>
    Ma per me che non conosco il js è un bel rompicapo.
    Che mi dite?

    p.s.
    forse il mio vero problema è solo questo:
    Da tenere presente che devo IMPEDIRE che il campo "ordinare" assuma un valore maggiore del valore "disponibili". (quindi se scrivo 30 il js mi reinserisca 20).
    Ora ci ragiono ma sono fuso...

  2. #2
    Rieccomi!
    mmmm.....
    Possiamo procedere a pezzi?
    Mi vorrei concentrare su questo.
    IMPEDIRE che il campo "ordinare" assuma un valore maggiore del valore "disponibili". (quindi se scrivo 30 il js mi reinserisca 20).
    Io intanto spulcio il forum... :master:

  3. #3
    ARGH!
    ho un altro problema, vi prego aiutatemi........
    Mi sono dimenticato di dirvi che non ho come dire... 3 campi.... ho 3 tipologie di campi.. ripetute N volte.
    codice:
    <form name="calco"> 
        <input type="text" name="riservare"> 
        <input type="text" name="ordinare"> 
        <input type="text" name="reintegrare">
        <input name="disponibili" type="hidden" id="disponibili" value="x">
    
    
        ..................
        ..................
    
    
    <input type="text" name="riservareN"> 
        <input type="text" name="ordinareN"> 
        <input type="text" name="reintegrareN">
        <input name="disponibili" type="hidden" id="disponibiliN" value="x">
    
    
    </form>
    Applicando l'onkeyup, come faccio a dirgli a quale "tripla" di campi andare ad effettuare le operazioni??????????????
    VVoVe: VVoVe:

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da PazZII

    Applicando l'onkeyup, come faccio a dirgli a quale "tripla" di campi andare ad effettuare le operazioni??
    la cosa piu` semplice, e` passare il numero nella chiamata della funzione:

    .... onkeyup="funzione(this.form,N);"

    dove N assume il valore particolare della "riga"

    Poi nello script:
    codice:
    function calcolo(ff,n){ 
      var dispon = ff.elements['disponibili'+n].value;
      var quant = ff.elements['quantita'+n].value;
      var cal=importo*quant;
      ff.elements['tot'+n].value = cal; 
    }
    Nota: i campi e i calcoli usati nello script sono puramente indicativi
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Sono commosso.
    provo e poi ti faccio sapere!

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.