Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 52
  1. #1

    Problema con moltiplicazione campi

    Ciao.

    Ho realizzato questo script che utilizza un linguaggio lato server ma che utilizza un linguaggio lato client per eseguire una moltiplicazione tra i campi del form:

    codice:
    <html>
     
    <head>
    <script language="javascript">
    <!--
     
    //Funzione Calcola
     
    function calcola(frmObj, id)
    {
     
    //Totale Imponibile = (Imponibile meno sconto * Quantita)
      frmObj["Totale_imponibile_" + id].value = parseFloat(frmObj["quantita_" + id].value) *
                                                parseFloat(frmObj["imponibile_meno_sconto_" + id].value);  
                                                
      frmObj["Totale_imponibile_" + id].value = parseFloat(frmObj["Totale_imponibile_" + id].value).toFixed(2);
      
                          
    }
     
    
    // -->
    </script>
    </head>
     
    <body>
     
    <%
     
    If ID_FORNITORE <> "" then
     
    strSQL = "SELECT * "
    strSQL = strSQL & " FROM " 
    strSQL = strSQL & " FORNITORI " 
    strSQL = strSQL & " WHERE " 
    strSQL = strSQL & " ID_FORNITORE = " & ID_FORNITORE & " "
    strSQL = strSQL & " ORDER " 
    strSQL = strSQL & " BY DESCRIZIONE_PRODOTTO ASC "
     
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open strSQL, objconn
     
    If Not Rs.EOF Then
     
    %>
     
    <p style="margin-top: 0; margin-bottom: 0"></p>
    <div align="center">
    	<table border="0" id="table3">
    		<tr>
    			<td CLASS='MARGIN'>Descrizione</td>
    			<td CLASS='MARGIN'>Confezione</td>
    			<td CLASS='MARGIN'>Quantità
    Confezione</td>
    			<td CLASS='MARGIN'>Quantità</td>
    			<td CLASS='MARGIN'>Unità di
    misura</td>
    			<td CLASS='MARGIN'>Prezzo
    Unitario
    [ € ]</td>	
    			<td CLASS='MARGIN'>Prezzo
    Confezione
    [ € ]</td>		
    			<td CLASS='MARGIN'>Tot.
    Imponib.
    [ € ]</td>
    			<td CLASS='MARGIN'>Iva %</td>
    			<td CLASS='MARGIN'>Totale
    Iva</td>
    		</tr>
     		
    <% Do while NOT Rs.EOF %>
     
        <tr>
          <td>
    <input type="text" name="descrizione_1" size="40" value="<%=Rs("DESCRIZIONE_PRODOTTO")%>" readonly 
    style="background-color: #C0C0C0"></td>
          <td>
    <input type="text" name="confezione_1" size="8" value="<%=Rs("CONFEZIONE")%>" readonly style="background-color: #C0C0C0"></td>
          <td>
    <input type="text" name="quantita_confezione_1" size="8" value="<%=Rs("QUANT_CONFEZIONE")%>" readonly 
    style="background-color: #C0C0C0"></td>
          <td>
    <input type="text" name="quantita_1" size="5" onblur="calcola(this.form, 1)" value="0.00"></td>
          <td><input type="text" name="um_1" size="5" value="<%=Rs("UM")%>" readonly style="background-color: #C0C0C0"></td>
          <td>
    <input type="text" name="imponibile_meno_sconto_1" size="5" value="<%=Rs("PREZZO_UNITARIO")%>" onblur="calcola(this.form, 1)" 
    style="background-color: #C0C0C0"></td>
          <td>
    <input type="text" name="prezzo_confezione_1" size="8" readonly value="<%=Rs("PREZZO_CONFEZIONE")%>" 
    style="background-color: #C0C0C0"></td>
          <td>
    <input type="text" name="Totale_imponibile_1" size="5" readonly value="0.00" 
    style="background-color: #C0C0C0"></td>
          <td><input type="text" name="Iva_1" size="5" value="0.00"></td>
          <td>
    <input type="text" name="Tot_iva_1" size="5" readonly value="0.00" 
    style="background-color: #C0C0C0"></td>   
        </tr>  
         
    <%
     
    Rs.MoveNext
    Loop
    end if
     
    Rs.Close
    set Rs = nothing
     
    objconn.Close
    set objconn = nothing
     
    end if
     
    %>
     		
    		</table>
    </div>
    </body>
     
    </html>
    Il problema è che lo script non esegue il calcolo previsto nella funzione javascript calcola o per meglio dire lo esegue quando dal database la query estrae soltanto un record, mentre non esegue nessun calcolo e non restituisce nessun errore quando i records estratti dal database sono più d'uno...

    Non capisco perchè...

    Grazie

  2. #2
    Ho dato un occhiata veloce...
    ma nel ciclo do-while tu crei n righe con name identico....
    non so se è per quello...
    prova a creare i nomi dinamici e non tutti con "indice" uno.

  3. #3
    Originariamente inviato da Nick.ferro
    Ho dato un occhiata veloce...
    ma nel ciclo do-while tu crei n righe con name identico....
    non so se è per quello...
    prova a creare i nomi dinamici e non tutti con "indice" uno.
    Grazie, ma come creo i nomi dinamici ??? :master:

    Ho provato così ma non va:

    codice:
        <tr>
          <td><input type="text" name="descrizione_<%=Rs("ID")%>" size="40" value="<%=Rs("DESCRIZIONE_PRODOTTO")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="confezione_<%=Rs("ID")%>" size="8" value="<%=Rs("CONFEZIONE")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="quantita_confezione_<%=Rs("ID")%>" size="8" value="<%=Rs("QUANT_CONFEZIONE")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="quantita_<%=Rs("ID")%>" size="5" onblur="calcola(this.form, 1)" value="0.00"></td>
          <td><input type="text" name="um_<%=Rs("ID")%>" size="5" value="<%=Rs("UM")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="imponibile_meno_sconto_<%=Rs("ID")%>" size="5" value="<%=Rs("PREZZO_UNITARIO")%>" onblur="calcola(this.form, 1)" style="background-color: #C0C0C0"></td>
          <td><input type="text" name="prezzo_confezione_<%=Rs("ID")%>" size="8" readonly value="<%=Rs("PREZZO_CONFEZIONE")%>" style="background-color: #C0C0C0"></td>
          <td><input type="text" name="Totale_imponibile_<%=Rs("ID")%>" size="5" readonly value="0.00" style="background-color: #C0C0C0"></td>
          <td><input type="text" name="Iva_<%=Rs("ID")%>" size="5" value="0.00"></td>
          <td><input type="text" name="Tot_iva_<%=Rs("ID")%>" size="5" readonly value="0.00" style="background-color: #C0C0C0"></td>   
        </tr>

  4. #4
    Non conosco il linguaggio server che usi...in php si fa così

    Codice PHP:
    <?
    $conta
    =1;
    do
    {
    ?>
    <tr>
          <td>
    <input type="text" name="descrizione_<? echo $conta;?>" size="40" value="<%=Rs("DESCRIZIONE_PRODOTTO")%>" readonly 
    style="background-color: #C0C0C0"></td>
          
        </tr>  

    <?
    $conta
    ++;
    }while(
    condizione);
    ?>

  5. #5
    Non conosco PHP....

  6. #6
    Quello che usi te è JSP???
    crea una variabile prima del do...
    e all'interno del do-while la incremente.
    e poi stampi il valore di tale variabile al posto dell '1'

  7. #7
    Originariamente inviato da Nick.ferro
    Quello che usi te è JSP???
    crea una variabile prima del do...
    e all'interno del do-while la incremente.
    e poi stampi il valore di tale variabile al posto dell '1'
    Utilizzo ASP, adesso provo.

  8. #8
    Così, la funzione calcola esegue il calcolo automatico sempre e solo sul primo record estratto dalla query:

    codice:
    <% 
    
    strNome = 0
    
    Do while NOT Rs.EOF
    
    strNome = strNome + 1 
    
     %>
    
        <tr>
          <td><input type="text" name="descrizione_<%=strNome%>" size="40" value="<%=Rs("DESCRIZIONE_PRODOTTO")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="confezione_<%=strNome%>" size="8" value="<%=Rs("CONFEZIONE")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="quantita_confezione_<%=strNome%>" size="8" value="<%=Rs("QUANT_CONFEZIONE")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="quantita_<%=strNome%>" size="5" onblur="calcola(this.form, 1)" value="0.00"></td>
          <td><input type="text" name="um_<%=strNome%>" size="5" value="<%=Rs("UM")%>" readonly style="background-color: #C0C0C0"></td>
          <td><input type="text" name="imponibile_meno_sconto_<%=strNome%>" size="5" value="<%=Rs("PREZZO_UNITARIO")%>" onblur="calcola(this.form, 1)" style="background-color: #C0C0C0"></td>
          <td><input type="text" name="prezzo_confezione_<%=strNome%>" size="8" readonly value="<%=Rs("PREZZO_CONFEZIONE")%>" style="background-color: #C0C0C0"></td>
          <td><input type="text" name="Totale_imponibile_<%=strNome%>" size="5" readonly value="0.00" style="background-color: #C0C0C0"></td>
          <td><input type="text" name="Iva_<%=strNome%>" size="5" value="0.00"></td>
          <td><input type="text" name="Tot_iva_<%=strNome%>" size="5" readonly value="0.00" style="background-color: #C0C0C0"></td>   
        </tr>  
         
    <%
    
    Rs.MoveNext
    Loop

  9. #9
    mi fai vedere come chiami la funzione calcola sull'onblur???

  10. #10
    Originariamente inviato da Nick.ferro
    mi fai vedere come chiami la funzione calcola sull'onblur???
    codice:
    <td>
    <input type="text" name="quantita_<%=strNome%>" size="5" onblur="calcola(this.form, 1)" value="0.00">
    </td>
    
    <td>
    <input type="text" name="imponibile_meno_sconto_<%=strNome%>" size="5" value="<%=Rs("PREZZO_UNITARIO")%>" onblur="calcola(this.form, 1)" style="background-color: #C0C0C0">
    </td>
     
    <td>
    <input type="text" name="Totale_imponibile_<%=strNome%>" size="5" readonly value="0.00" style="background-color: #C0C0C0">
    </td>

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.