Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 32
  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    provo a buttare giù il codice, sicuramnete sbagliato

    nella casella di INPUT :

    OnBlur = "somma(riga=this.id,valore=this.value)"

    ..........................................

  2. #12
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quel codice sembra sbagliato, ma non ne sono sicuro e non saprei come correggerlo.

    Cosa fa la funzione somma() ?
    Che parametri occorre passare?

    Perche` passi l'id del campo?
    Dentro i parametri non ci vanno i segni uguale, o almeno dovrebbero esser racchiusi dentro una stringa.

    In poche parole: cosa vuoi fare?

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #13
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Sul fatto dell'essere sbagliato sono sicuro anch'io adesso

    Allora io devo passare l'id perkè poi dovrò sommare la riga che contiene quegli ID.

    Mi spiego meglio io ho 9 righe per 31 giorni(o 30 o 29 a seconda del mese).

    Le celle vanno da 1 a "31"*9 (quindi da 1 a 279), se sono nella cella 15 do un valore spingo il tasto backspace, in quel momento catturo il valore e lo vado a sommare a tutti valori delle altre celle che appartengono a quella riga, quindi nel caso specifico da 1 a 31.
    Se fosse nella cella 103, sommerei i valori dei txt da 94 a 125.

    Il valore che esce da questa somma finirà in un ID con som+numriga nell'ultima colonna.

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi pare di capire che hai "ereditato" (o in qualche modo acquisito) uno script funzionante, e lo vuoi modificare.

    Tale script non e` banale, neppure per qualcuno con esperienza.

    Ora e` molto difficile dare consigli in una situazione come questa, specie se mancano una serie di informazioni.

    Come minimo serve sapere quali sono i parametri in ingresso delle funzioni interessate (quello che chiedevo prima con le prime due domande: cosa fa la funzine somma() e/o quali parametri occorre passare).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #15
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184
    No purtroppo non ho ereditato nulla ma sto semplicemente costruendo il mio script a livello concettuale sperando che qualcuno me lo traduca in js.

    Ti spiego la funzione somma

    funzione somma (id e value di una casella di input)
    {
    verifico l'id di provenienza.
    esamino i "value" degli id che mi interessano e li sommo
    in una variabile che chiamo som.
    terminata la sommatoria , la scrivo nel div con id pre impostato
    che non rappresenta un input
    }

  6. #16
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi spiace. Non riesco a ragionare sulle parole.
    Gia` faccio fatica a ragionare sugli script funzionanti.

    Capisco che dietro alle tue richieste c'e` un ragionamento, e che tale ragionamento potrebbe avere un fondamento corretto, ma ho troppo poca conoscenza del problema per poterti aiutare.

    Io chiamerei le celle con una lettera e un numero:

    cellaA01 cellaA02 cellaA03 ... cellaA31
    cellaB01 cellaB02 cellaB03 ... cellaB28
    cellaC01 ...

    e poi farei le somme passando i parametri opportuni (in questo caso A o B, ..)


    Comunque i totali dovrebbero essere delle celle di input (che io chiamerei cellaAT, cellaBT, ..), altrimenti ti cacci nei guai prima di iniziare.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #17
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Salve a tutti,

    come alsolito Mich_ ha ragione :metallica
    gli input sarebbero andati meglio scrivendo una lettere per le righe e un numero per le colonne
    visto che è così però....
    per fare la somma della riga
    codice:
    function Somma(tt){
      numero = parseInt(tt.id.substr(prefisso.length))-1
      da = 1+(numero-(numero%31))
      somma=0
      for(i=da;i<da+31;i++)
        somma+=parseFloat(tt.form.elements[prefisso+i].value)
      document.getElementById('totale'+((da-1)/31+1)).innerHTML=somma
    }
    homesso on-line la mia prova (dove si vede tutto il codice) per vedere il funzionamento.

    Famme sape'

  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184
    Questo è il codice di una delle righe che creo :

    echo "<tr>";
    echo "<td>$MinFont Ord</td>";
    $giorni = 0;
    $indice_colori = 0;
    while ($giorni < $mesi[$mese])
    {
    $giorni++;
    $Giorno = date("D", mktime(0,0,0,$mese,$giorni,$anno));
    if (Trim($Giorno) == "Sun")
    {
    $color = "#ff3300";
    }
    else
    {
    $color = "#0000FF";
    if (Trim($Giorno) == "Mon")
    {
    $indice_colori++;
    }
    }

    echo "<td align = \"center\" rowspan = \"1\" bgcolor = \"$col_set[$indice_colori]\">";
    if ($Elaborato == "N")
    {
    echo "<input type = \"Text\" Name = \"OrOr[$giorni]\" id = \"txt".$pos."\" Value = \"".CntPDF($VetOre[$giorni][0],$False,"")."\" Size = \"3\" MAXLENGTH = \"4\"
    onchange=\"Solonumeri(this);Somma(this)\" onfocus = \"pos=this.id;cc=this.createTextRange();cc.execCom mand('SelectAll');\" style=\"background=$col_set[$indice_colori];color=$color;\">";
    }
    else
    {
    echo $MinFont.$VetOre[$giorni][0];
    }

    echo "</td>";
    $pos++;
    }

    echo "<td align = \"center\"><div id=\"totale1\">0</div></td>";
    echo "</tr>";


    ?>

    Questo è il file che contiene gli script :


    # mng_key.PHP
    # -------------------------
    # $Mese_Numero --> Numero giorni * mese

    $Totale_celle = $Mese_Numero * 9;
    $PenRig_celle = $Totale_celle - $Mese_Numero;

    $SecRig_Start = $Mese_Numero + 1;
    $SecRig_End = $Mese_Numero * 2;
    $QuaRig_Start = ($Mese_Numero * 3) + 1;
    $QuaRig_End = $Mese_Numero * 4;


    ?>


    <script language="javascript">

    var isNav=false
    if (parseInt(navigator.appVersion)>=4){
    if(navigator.appName == "Netscape"){
    window.captureEvents(Event.ONKEYPRESS)
    window.onkeypress = prova
    isNav = true
    }
    else
    document.onkeydown = prova
    }

    var pos=null
    var prefisso='txt'
    function prova(e){
    if(pos!=null){
    num = parseInt(pos.substr(prefisso.length))
    if(isNav){
    if (e.keyCode == 34) {
    if(num<<? echo $PenRig_celle ?>) num=num+<? echo $Mese_Numero."\n"?>
    else num=num+<? echo $Mese_Numero?>-<? echo $Totale_celle."\n" ?>
    }
    if (e.keyCode == 33) {
    if(num><? echo $Mese_Numero?>)num=num-<? echo $Mese_Numero."\n" ?>
    else num=num-<? echo $Mese_Numero?>+<? echo $Totale_celle."\n" ?>
    }
    }
    if (window.event.keyCode == 34) {
    if(num<<? echo $PenRig_celle ?>)num=num+<? echo $Mese_Numero."\n"?>
    else num=num+<? echo $Mese_Numero?>-<? echo $Totale_celle."\n" ?>
    }
    if (window.event.keyCode == 33) {
    if(num><? echo $Mese_Numero?>)num=num-<? echo $Mese_Numero."\n"?>
    else num=num-<? echo $Mese_Numero?>+<? echo $Totale_celle."\n"?>
    }
    pos = prefisso+num
    document.forms[0].elements[pos].focus()
    }

    if (pos!=null){
    num = parseInt(pos.substr(prefisso.length))
    if(isNav){
    if ( (e.keyCode == 120) && ( ( (num >= <? echo $SecRig_Start ?>) && (num <= <? echo $SecRig_End ?>) ) || ( (num >= <? echo $QuaRig_Start ?>) && (num <= <? echo $QuaRig_End ?>) ) ) ) {
    openWindow2('../causali.php?Form=<?echo $Form; ?>&Msg='+pos+'&dati=<? echo $dati; ?>')
    }
    }
    if ( (window.event.keyCode == 120) && ( ( (num >= <? echo $SecRig_Start ?>) && (num <= <? echo $SecRig_End ?>) ) || ( (num >= <? echo $QuaRig_Start ?>) && (num <= <? echo $QuaRig_End ?>) ) ) ) {
    openWindow2('../causali.php?Form=<?echo $Form; ?>&Msg='+pos+'&dati=<? echo $dati; ?>')
    }
    }

    }


    function Solonumeri(tt){
    tt.value=tt.value.replace(/,/g,'.')
    RE=/\d*\.?\d*/
    valore = parseFloat(tt.value.match(RE))
    if(isNaN(valore))valore=0
    tt.value = valore
    }
    function Somma(tt){
    numero = parseInt(tt.id.substr(prefisso.length))-1
    da = 1+(numero-(numero%31))
    somma=0
    for(i=da;i<da+31;i++)
    somma+=parseFloat(tt.form.elements[prefisso+i].value)
    document.getElementById('totale'+((da-1)/31+1)).innerHTML=somma
    }


    </script>

  9. #19
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    e tradotto in HTML? Non conosco molto bene il php
    funzia?

  10. #20
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184
    NO!
    Non mi fa i totali.

    Cmq se tu hai il codice in asp postalo, vediamo cosa posso fare.
    Non mi intendo di asp, ma a senso posso valutare l'html non aiuta.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.