Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    scrivere in un terzo textfield la somma di altri due

    spero che il titolo sia abbastanza chiaro

    dunque, il mio problema è che ho due campi di testo: qta1 e qta2, ne ho poi un terzo qtatot dove devo andare a scrivere la somma [aritmetica] dei due campi precedenti. Il tutto però dovrebbe avvenire in maniera automatica e quindi senza nessun refresh della pagina e senza nessuna pressione di pulsanti; è possibile?
    o ci deve essere per forza un campo aggiorna quantità?

    Grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    ti ringrazio!ma mi pare che lì il problema sia l'arrotondamento. io ho solo bisogno di sommare i due numeri interi, o forse la soluzione c'è anche nel thread ce mi hai segnalato, ma non capendoci tanto [niente] di js non la trovo

    grassssie
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    codice:
    function somma() {
       var c1 = document.getElementById("campo1")
       var c2 = document.getElementById("campo2")
       var c3 = document.getElementById("campoRisultato")
    
       c3.value = parseInt(c1.value) + parseInt(c2.value) 
    }
    Dove campo1, campo2 e campoRisultato sono gli id dei tre campi di testo.

    Direi che però potresti creare un pulsantino che richiama la funzione...

  5. #5
    Originariamente inviato da pierofix
    codice:
    function somma() {
       var c1 = document.getElementById("campo1")
       var c2 = document.getElementById("campo2")
       var c3 = document.getElementById("campoRisultato")
    
       c3.value = parseInt(c1.value) + parseInt(c2.value) 
    }
    Dove campo1, campo2 e campoRisultato sono gli id dei tre campi di testo.

    Direi che però potresti creare un pulsantino che richiama la funzione...
    ti ringrazio!io però ho fatto così, senza mettere bottoni:
    codice:
    <input name="campo1" type="text" id="campo1" size="5" onkeypress="somma()" />
    <input name="campo2" type="text" id="campo2" size="5" onkeypress="somma()" />
    <input name="campoRisultato" type="text" id="campoRisultato" size="5" />
    solo che quando scrivo mi mette nel risultato un NaN che significa?

    grazie ancora
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    I. Scrivi sempre javascript:somma(); nell'href.

    II. NaN significa Not a Number... strano, come ti ho detto sopra dovrebbe funzionare. Forse è perchè quando digiti nel primo campo, il secondo è ancora vuoto...

    Ti consiglio di mettere un pulsante che ti richiama la funzione: eviti spiacevoli inconvenienti ed è pure più logico.


  7. #7
    in effetti con il pulsante funziona! ma anche lì devo mettere un controllo, perché se uno preme il pulsante senza aver inserito nessun valore mi dice comunque NaN.

    Grazie!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Ok, allora inserisci il controllo. Sei capace?

  9. #9
    Originariamente inviato da pierofix
    Ok, allora inserisci il controllo. Sei capace?
    si si gli if e gli else sono come nel php quindi me la cavo

    grazie per l'aiuto!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da 13manuel84
    ti ringrazio!io però ho fatto così, senza mettere bottoni:
    ....
    solo che quando scrivo mi mette nel risultato un NaN che significa?
    Il problema e` l'onkeypress: e` un evento che dovrebbe scattare prima di acquisire il dato.
    Il mio consiglio in quei casi e` di usare onchange (piu` sicuro perche` funziona uguale in tutti i browser), ma se proprio vuoi una cosa che cambi mano a mano che digiti, prova con onkeyup.
    Pero` se digiti un carattere che non e` un numero, potresti avere comunque risultati imprevedibili.

    PS: parseInt, conviene usarlo sempre con la sua radice, altrimenti se il numero inizia per 0 viene preso come ottale:
    c3.value = parseInt(c1.value,10) + parseInt(c2.value,10);
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.