Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Aggiungendo, oltre al name, anche l'id al campo:
    Codice PHP:
    <input type="text" name="residuo"<?php echo "[".$i."]"?> id="residuo"<?php echo "[".$i."]"?> />
    da cui:
    Codice PHP:
    document.getElementById("residuo[<?php echo "[".$i."]"?>]".value= parseFloat(h).toFixed(2).replace('.',',');
    HTH

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  2. #12
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Metti una pagina online e posta il link, per capire il funzionamento e il makup, e spiega con precisione cosa vuoi ottenere.
    Per esempio il codice php nel campo residuo <input type="text" name="residuo"<?php echo "[".$i."]"; ?> /> cosa dovrebbe essere?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #13
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    La pagina non posso inserirla online!
    lo scopo dello script è quello di prendere 3 valori numerici (float o double) e effettui un calcolo matematico.

    io in una pagina html possiedo un modulo (form) dove sono presenti circa 7 campi tra cui i famosi 3

    fativa
    accr
    impnota

    tutti questi numeri sono dei double o float con la , oppure il . che dividono i decimali.

    un esempio dei valori può essere questo : 1256.23 o 15,22
    .
    Io ho la necessita di inserire il risultato dei 3 campi in un input di tipo testuale.
    il calcolo matematico sarà questo

    Risultato = fativa - (accr + impnota)

    risultato dovrò stamparlo a video nel campo con id residuo.


    ora il problema che ho non sussiste nel fare il calcolo tramite un bottone e stamparlo per un modulo ma effettuarlo per n moduli.

    l'utente può scegliere quanti form o moduli riempire e potrei avere 1 modulo (dove non ho problemi) oppure 10 moduli...

    io riesco a effettuare :
    il richiamo dei 3 campi ancora da calcolare
    il calcolo vero e proprio

    qui il codice del richiamo campi e del calcolo
    Codice PHP:
    <script Language="JavaScript" Type="text/javascript">
            function 
    calcolatotale() {
            var 
    conteggio document.invio_formconta.conteggiojs.value;
            var 
    1;
                for (
    <= conteggio i++){
                    var 
    = (document.getElementById("fativa["+i+"]").value);
                    var 
    = (document.getElementById("accr["+i+"]").value);
                    var 
    = (document.getElementById("impnota["+i+"]").value);
                    
                    
    c.replace ("," ".");
                    
    b.replace ("," ".");
                    
    d.replace ("," ".");
                    
                    
    parseFloat(c);
                    
    parseFloat(b);
                    
    parseFloat(d);
                    
                    if (
    == "" || == undefined || isNaN(c)){
                        
    0.00;
                    }
                    if (
    == "" || == undefined || isNaN(d)){
                        
    0.00;
                    }
                    
                    if ( (
    != "" || != undefined) && (!= "" || != undefined) && (!= "" || != undefined) ){
                        var 
    b-(c+d);
                    }else if ( (
    != "" || != undefined) && (== "" || == undefined) && (!= "" || != undefined) ){
                        var 
    b-(c);
                    }else if ( (
    == "" || == undefined) && (== "" || == undefined) && (!= "" || != undefined) ){
                        var 
    b-(d);
                    }else if ( (
    == "" || == undefined) && (== "" || == undefined) && (!= "" || != undefined) ){
                        var 
    b;
                    }else if ( (
    == "" || == undefined) && (== "" || == undefined) && (== "" || == undefined) ){
                        
    String("");
                    } 

    quello che non riesco a fare e inserirlo all'interno del campo
    Codice PHP:
     if (!= "" || != undefined){
                      
    document.invio_formconta.residuo.valueparseFloat(h).toFixed(2).replace('.',',');
                    }else if (
    == undefined || == "" || isNaN(h)){
                      
    document.invio_formconta.residuo.value String("");
                    } 

    spero mi sia fatto capire un po meglio, grazie

  4. #14
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quello che ti si vuole dire e' che senza vedere l'HTML che ricavi dall'esecuzione del PHP (che per noi e' impredicibile) non ti si puo' aiutare tanto... per esempio secondo me, per il molto poco che conosco di PHP, da questo:

    <input type="text" name="residuo"<?php echo "[".$i."]"; ?> />

    ricavi, quando la variabile PHP $i vale 1:

    <input type="text" name="residuo"[1] />

    che non mi pare tanto un HTML valido... forse il difetto e' tutto lato server (apici fuori posto)

    ciao
    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

  5. #15
    tu scrivi:
    codice:
    document.invio_formconta.residuo.value=...
    ma, il campo &egrave; definito come:
    codice:
    <input type="text" name="residuo"<?php echo "[".$i."]"; ?> />
    che, per esempio, se la variabile php $i vale 2, viene compilato da php come:
    codice:
    <input type="text" name="residuo[2]" />
    da cui si evince che non esiste document.invio_formconta.residuo, ma ovviemente esiste document.invio_formconta.residuo[2]

    e quindi, considerando che con la sintassi:
    codice:
    document.invio_formconta.residuo[2].value= ...
    potresti avere problemi a causa delle parentesi quadre, che ti farebbero indirizzare l'elemento di indice 2 dell'array residuo, l'unica maniera &egrave; quella che ti ho scritto qualche post fa:

    Aggiungere, oltre al name, anche l'id al campo:
    Codice PHP:
    <input type="text" name="residuo<?php echo "[".$i."]"?>" id="residuo<?php echo "[".$i."]"?>" />
    ed assegnargli il valore con:
    Codice PHP:
    document.getElementById("residuo[<?php echo "[".$i."]"?>]".value= parseFloat(h).toFixed(2).replace('.',',');
    HTH
    Zappa

    Aggiunta: ho corretto le sintassi a fronte del post precedente, che indica un grave errore di apici!
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  6. #16
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ma il getElementById non serve a recuperare il valore del campo in question?
    come scritto sopra: pensavo che il get servisse a prelevare solo i dati, non pensavo servisse come riferimento per il campo specifico... infatti utilizzavo il document.[form][name].cio_che_voglio_fare

    document.getElementById("residuo[<?php echo "[".$i."]"; ?>]".value= parseFloat(h).toFixed(2).replace('.',',');
    con una minima modifica ho fatto tutto e ti ringrazio della risp, molto semplice ma quando lo avevo fatto in precedenza mi ha dato errore, ora non ricordo bene:
    era sulla falsa riga di questo
    document.getElementById("accr["+i+"]").value
    ma avevo messo la seguente
    document.[form].[name[+i+].value = float....]
    quella corrretta e funzionante è cosi.
    Codice PHP:
    document.getElementById("residuo["+i+"]").valueparseFloat(h).toFixed(2).replace('.',','); 
    Vi ringrazio dell'aiuto ...

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.