Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Calcolo con select diversa

    Salve a tutti,
    ho questo script che mi moltiplica 2 campi
    codice:
    <script>
        
        window.onkeypress = setInterval('changeTotale<%=iContatore%>()',100);
        
        function changeTotale<%=iContatore%>(){
            var num = parseFloat(document.info.formato<%=iContatore%>.value)*parseFloat(document.info.quantita<%=iContatore%>.value);
            
            if(num>=0)
            document.info.risultato<%=iContatore%>.value = num.toFixed(2);
        }
        
    </script>
    la select FORMATO può variare perchè ho un div che tramite una scelta (mediante select) rende visibile o la select FORMATO o la select FORMATOS (che differenzia gli importi etc) ora lasciando lo script così funziona correttamente con la prima select cioè quella impostata, ma selezionando FORMATOS il totale non funziona, come faccio ad impostare lo script in base alla scelta delle opzioni FORMATO o FORMATOS?
    Grazie
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessun aiuto??

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il concetto e come nell'altra discussione per rendere una funzione dinamica devi passa alla funzione l'oggetto NomeFunzione(NomeOggetto)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Non capisco bene come fare perchè cambia un solo campo dei 3:
    ecco la mia situazione:
    PRIMA IMPOSTAZIONE SE BOXA VISIBILE:
    codice:
    <div id="boxA<%=iContatore%>">
    <script>
        
        window.onkeypress = setInterval('changeTotale(prima)',100);
        
        function changeTotale<%=iContatore%>(prima){
             var num =  parseFloat(document.info.formato<%=iContatore%>.value)*parseFloat(document.info.quantita<%=iContatore%>.value);
            
            if(num>=0)
            
            var importo = num.toFixed(2);
            var importos = importo.replace('.',',');
            document.info.risultato<%=iContatore%>.value = importos;
        }
        
    </script>
                 <select size="1" name="formato"  id="formato<%=iContatore%>"  onchange="changeTotale<%=iContatore%>(prima)">
                <option value="0.20">10x15</option>
                <option value="0.20" selected>12x16</option>
    </select>
    </div>
    SECONDA IMPOSTAZIONE SE BOXB VISIBILE:
    codice:
    <div id="boxB<%=iContatore%>">
    <script>
        
        window.onkeypress = setInterval('changeTotale<%=iContatore%>(seconda)',100);
        
        function changeTotale<%=iContatore%>(seconda){
             var num =  parseFloat(document.info.formatos<%=iContatore%>.value)*parseFloat(document.info.quantita<%=iContatore%>.value);
            
            if(num>=0)
            
            var importo = num.toFixed(2);
            var importos = importo.replace('.',',');
            document.info.risultato<%=iContatore%>.value = importos;
        }
        
    </script>            
                 <select size="1" name="formatos"  id="formatos<%=iContatore%>"  onchange="changeTotale<%=iContatore%>(seconda)">
                <option value="0.90">15x20</option>
                <option value="0.90">15x22,5</option>
    </select>
    </div>
    gli altri campi che dovranno elaboare le funzioni (o la prima o la seconda) sono:
    codice:
    <input type="text" name="quantita" size="4" value="1"  id="quantita<%=iContatore%>"  onkeyup="changeTotale<%=iContatore%>(prima)"  onkeyup="changeTotale<%=iContatore%>(seconda)">
    <input type=text name="prezzo" id="risultato<%=iContatore%>" value="" size="10" >
    Ma non funziona, puoi dargli un'occhiata e fai notare dove sbaglio?
    Grazie
    G.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Metti la pagina demo online per avere un quadro completo e sopratutto senza codice asp/jsp
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma la pagina non ha codice javascript, inoltre sei sicuro che sia la pagina definitiva? Perché non avrebbe senso delle funzioni e degli oggetti numerati progressivi (changeTotale<%=iContatore%>)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Il link è sbagliato ecco quello giusto, scusami.
    http://www.studiofotografare.it/publ...provaforum.asp

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Questa window.onkeypress = setInterval('changeTotale<%=iContatore%>(seconda)',100); va tolta vedi errore
    http://webandylab.altervista.org/Sch...2021.38.15.png
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Non ho capito bene a quale errore ti riferisci, comunque anche togliendola non funziona.
    Ho dovuto effettuare altre modifiche togliendo anche il (cont) al codice altrimenti non mi aggiornare in tempo reale i prezzi x singolo prodotto.
    Quindi ho lasciato una sola
    codice:
     
    window.onkeypress = setInterval('changeTotale<%=iContatore%>()',100);
    etc.
    ma ho sempre il problema se utilizzo il secondo box quello nascosto al caricamento pagina e visibile selezionando SETA o METAL dalla select SUPPORTO.
    Cambiando supporto come posso utilizzare la function changeTotale e far si che mi aggiorni il prezzo totale in base quantità così come avviene ora con il primo box, cioè quello visibile al caricamento pagina?
    Inoltre mi mancherebbe anche il prezzo TOTALE sommando tutti i campi.
    Puoi aiutarmi annche a questo?
    Grazie
    G.
    Ultima modifica di djjunior; 27-02-2014 a 02:04

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.