• Moderatore

    Io la cambierei così:

    
    function fun() {
      var v1=document.getElemtById("t1").value;
      var v2=document.getElemtById("t2").value;
      var v3=document.getElemtById("t3").value;
      if (v1=="" || v2=="" || v3=="") return;
      v1=parseInt(v1);
      v2=parseInt(v2);
      v3=parseInt(v3);
      document.getElemtById("t4").value=v1+v2+(v3-40);
    }
    
    
    

    E la richiami semplicemente
    onquellochetipare = "javascript: fun();"

    ah, mi sono accorto ora di una cosa
    nalla pagina 1 questa funzione non la puoi richiamare perche il campo t3 e t4 non esiste, la puoi richiamare solo nella pag 2, al max puoi scrivere due funzioni diverse, oppure modificarla così:

    
    function fun(pag) {
      if pag != ""{
        var v1=document.getElemtById("t1").value;
        var v2=document.getElemtById("t2").value;
        if pag == 2 {
          var v3=document.getElemtById("t3").value;
          if (v1=="" || v2=="" || v3=="") return;
        }else{
          if (v1=="" || v2=="") return;
        }
        v1=parseInt(v1);
        v2=parseInt(v2);
        if pag == 2 {
          v3=parseInt(v3);
          document.getElemtById("t4").value=v1+v2+(v3-40);
        }
      }
    }
    
    
    

    Questa funzione funziona (scusate il gioco di parole) solo con 2 pagine per più pag ti tocca adattarla, puoi fare anche qualche cosa di più complesso, io ho un po' schematizzato
    Ciao


  • User Attivo

    getElemtById

    getElementById 🙂


  • User

    provato nuovo codice suggerito, ma anche così mi restituisce lo stesso errore, sono allo sconforto.
    😢


  • User

    :yuppi: :yuppi:
    fatto! funziona! era un banale orrore di ortografia.
    vi ringrazio tutti per la pazienza e la gentilezza, siete grandi.
    ciao
    :fumato:


  • Moderatore

    @madai said:

    getElemtById

    getElementById 🙂

    il copia incolla può essere fatale :fumato: :fumato:


  • User Attivo

    visto che ti funziona lascialo stare così ma visto che l'ho scritto ti posto anche questo codice che potresti riutilizzare tale e quale in tutte le pagine in quanto controlla l'esistenza del campo nella pagina.

    (non l'ho testata):

    
    function fun() {
      var tot;
      var v = new Array();
      for &#40;var i=1; i < 4; i++&#41; &#123;
        if &#40;document.getElemtById&#40;"t"+i&#41; != undefined&#41; &#123;
          v&#91;i&#93; = document.getElemtById&#40;"t"+i&#41;.value;
        &#125;
        if &#40;v&#91;i&#93;==""&#41; return;
        tot = v&#91;i&#93; + tot;
      &#125;
      document.getElemtById&#40;"t4"&#41;.value=tot;
    &#125;
    
    

  • User

    bello, ma ci ho capito poco saresti così gentile da spiegarmi, come funziona?
    grazie.


  • User Attivo

    function fun() {
    var tot;
    var v = new Array();
    for (var i=1; i < 4; i++) { //ciclo for: il blocco di codice che va dalla riga seguente in poi fino alla riga tot = v* + tot; verrà ripetuto 4 volte, ad ogni passaggio i verrà incrementato di 1
    if (document.getElemtById("t"+i) != undefined) { // controllo che il campo con ID=ti dove al psto di i ci sarà un numero compreso tra 1 e 4. Se esistesse memorizzo il relativo valore nel seguente elemento dell'array
    v* = document.getElemtById("t"+i).value;
    }
    if (v*=="") return;
    tot = v* + tot;
    }
    document.getElemtById("t4").value=tot;
    }


  • User

    grande madai, sono riuscito a far funzionare anche questa, per piccole che siano, queste si, che son soddisfazioni!
    di nuovo grazie di tutto a tutti.


  • User Attivo

    bravo zwack! 🙂