Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Quale evento associare ad una funzione ?

    Ciao.

    Qual'è l'evento tra i vari onclick, onchange, onblur,etc da associare ad una funzione javascript che consente in una pagina web di aggiornare in tempo reale una cella di un form dove viene riportata un'operazione aritmetica eseguita su due celle diverse dello stesso form ?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Domanda un po generica, prova con onkeyup, oppure onkeypress
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da cavicchiandrea
    Domanda un po generica, prova con onkeyup, oppure onkeypress
    Si hai ragione, scusa... ho provato con l'evento onkeypress, ma non succede niente.

    Vorrei che non appena inserisco i valori numerici nei campi A e B del form, il campo C si aggiornasse dal valore 0 previsto di default al risultato della differenza tra i campi A e B.

    Ad esempio:

    campo A = 10:00
    campo B = 12:00

    campo C = passa da valore 0 ( default ) a valore 120.

    Questo è il form ( l'ho messo insieme tramite la ricerca... ):

    codice:
    <html>
    
    <head>
    <script language="JavaScript"> 
    <!-- 
    
    
    var difference = function(leftHour, rightHour){
    	if(!leftHour || !rightHour)
    		return null;
    	spt = leftHour.split(":");
    	var totLeft = parseInt(spt[0]) * 60 + parseInt(spt[1]);
    	spt = rightHour.split(":");
    	var totRight = parseInt(spt[0]) * 60 + parseInt(spt[1]);
    	return totLeft - totRight;
    }
    
    function Calcola()
    {
    
    	var diff1 = difference(myForm.B.value, myForm.A.value);
    	
    	myForm.C.value = diff1
    
        
    
    }
    // -->
    </script>
    
    </head>
    <body>
    
    <form name="myForm">
    
    Campo A = <input type="text" name="A" size="20" value="10:00">
    Campo B = <input type="text" name="B" size="20" value="11:00">
    
    
    
      
    Differenza B-A = <input type="text" name="C" size="20" onkeypress="Calcola()" value="0">
    
    </form>
    
    </body>
    
    </html>

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'evento lo devi mettere su A e B, non sul C
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da cavicchiandrea
    L'evento lo devi mettere su A e B, non sul C
    OK ho fatto come mi hai detto: ma quando inserisco i primi dati nel form i campi che devono contenere il risultato dell'operazione passano dal valore di default 0 a null... perchè?

    Prova tu stesso:

    http://free.7host06.com/popigu/form.htm

    Grazie.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da ubbicom
    OK ho fatto come mi hai detto: ma quando inserisco i primi dati nel form i campi che devono contenere il risultato dell'operazione passano dal valore di default 0 a null... perchè?

    Prova tu stesso:

    http://free.7host06.com/popigu/form.htm

    Grazie.
    C'e' scritto nella funzione... se i due valori non esistono:
    codice:
    if(!leftHour || !rightHour)
    	return null;
    Altro avviene quando ne esiste uno solo...

    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

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da br1
    C'e' scritto nella funzione... se i due valori non esistono:
    codice:
    if(!leftHour || !rightHour)
    	return null;
    Altro avviene quando ne esiste uno solo...

    ciao
    Grazie, ho capito ed ho modificato così:

    codice:
    var difference = function(leftHour, rightHour){
    	if(!leftHour || !rightHour)
    		return 0;
    	spt = leftHour.split(":");
    	var totLeft = parseInt(spt[0]) * 60 + parseInt(spt[1]);
    	spt = rightHour.split(":");
    	var totRight = parseInt(spt[0]) * 60 + parseInt(spt[1]);
    	return totLeft - totRight;
    E' corretto quello che ho scritto?

    E poi come si controlla che l'orario inserito nei vari campi del form sia sempre successivo e maggiore rispetto all'orario inserito nel campo del form che lo precede ?

    Cioè che in B non può essere inserito un orario inferiore a quello di A e via dicendo ?

    Grazie

  8. #8
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    Genesi (1, 1)

    Intanto facciamo questo:
    codice:
    <html>
    <head>
    
    <script language="JavaScript"> 
    <!-- 
    
    function Somma() {
    	
    	mainForm.Rfield.value = parseInt(mainForm.Afield.value) + parseInt(mainForm.Bfield.value);
       };
    
    
    function Differenza() {
    	
    	mainForm.Rfield.value = parseInt(mainForm.Afield.value) - parseInt(mainForm.Bfield.value);
       };
    
    // -->
    </script>
    
    </head>
    <body>
    <tt>
     <form name="mainForm">
    
      Campo A = <input type="text" name="Afield" size="20" value="">
    
      Campo B = <input type="text" name="Bfield" size="20" value="">
    
    
      
    
      Campo R = <input type="text" name="Rfield" size="20" value="" readonly> ( Risultato )
    
      
    
      <input value="somma  A + B"       type="button" onClick="Somma()"     >
    
      <input value=" sottrai   A  -  B" type="button" onClick="Differenza()">
    
     </form>
    </tt>
    
    </body>
    </html>

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: Genesi (1, 1)

    Originariamente inviato da Straystudios
    Intanto facciamo questo:
    codice:
    <html>
    <head>
    
    <script language="JavaScript"> 
    <!-- 
    
    function Somma() {
    	
    	mainForm.Rfield.value = parseInt(mainForm.Afield.value) + parseInt(mainForm.Bfield.value);
       };
    
    
    function Differenza() {
    	
    	mainForm.Rfield.value = parseInt(mainForm.Afield.value) - parseInt(mainForm.Bfield.value);
       };
    
    // -->
    </script>
    
    </head>
    <body>
    <tt>
     <form name="mainForm">
    
      Campo A = <input type="text" name="Afield" size="20" value="">
    
      Campo B = <input type="text" name="Bfield" size="20" value="">
    
    
      
    
      Campo R = <input type="text" name="Rfield" size="20" value="" readonly> ( Risultato )
    
      
    
      <input value="somma  A + B"       type="button" onClick="Somma()"     >
    
      <input value=" sottrai   A  -  B" type="button" onClick="Differenza()">
    
     </form>
    </tt>
    
    </body>
    </html>
    Perdona l'appunto, ma se per risolvere il problema specifico hai intenzione di partire dall'ABC ....

    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

  10. #10
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Re: Re: Genesi (1, 1)

    Originariamente inviato da br1
    Perdona l'appunto, ma se per risolvere il problema specifico hai intenzione di partire dall'ABC ....

    Il mio problema è il seguente :

    E poi come si controlla che l'orario inserito nei vari campi del form sia sempre successivo e maggiore rispetto all'orario inserito nel campo del form che lo precede ?

    Cioè che in B non può essere inserito un orario inferiore a quello di A e via dicendo ?

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.