Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Riconoscere l'evento

  1. #1

    Riconoscere l'evento

    Ciao,
    posso capire quale evento accade in un campo input da una funzione?

    esempio

    codice:
    <input name="pippo" id="pippo" onfocus="ciao(evet)" onblur=ciao("event")>
    la funzione ciao() dovrebbe capire se è il focus o il blur che sta avvenendo.

  2. #2
    Ciao,
    tramite window.event.type dovresti sapere quale evento è stato scatenato.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    codice:
             function ciao(event)
            {
                if (event.type == "focus")
                {
                    alert("focus");
                }
                if (event.type == "blur")
                {
                    alert("blur");
                }
            }

  4. #4
    window.event.type è però proprietario IE, esiste un modo analago per catturare l'evento in Firefox e Affini?

  5. #5
    Il blocco di codice che ti ho scritto funziona in tutti i browser, testato.

  6. #6
    si lo so,ma io setto le funzioni in questo modo

    codice:
    function SetInput()
    	{
    	/*Setto tutti i campi input*/
    	inputs=document.getElementsByTagName('input');
    	for(i=0;i<inputs.length;i++)
    		{
    		inputs[i].onfocus=function(){HighLight(this)};
    		inputs[i].onblur=function(){DownLight(this)};
    		}
    	/*Setto tutti i campi input*/
    	selects=document.getElementsByTagName('select');
    	for(i=0;i<selects.length;i++)
    		{
    		selects[i].onfocus=function(){HighLight(this)};
    		selects[i].onblur=function(){DownLight(this)};
    		}
    	}
    ho provato a scrivere inputs[i].onfocus=function(){HighLight(this,event) ma mi và in errore, per questo volevo capire cosa usare con firefox al posto di window.event.type

  7. #7
    L'errore è sicuramente nelle funzioni Highlight e Downlight, in quanto questo codice funziona, provalo (provato io ora in FF e IE)

    codice:
    function ciao(control, event)
            {
                if (event.type == "focus")
                {
                    control.value = "1";
                }
                if (event.type == "blur")
                {
                    control.value = "2";
                }
            }
        
        function SetInput()
    	{
    	/*Setto tutti i campi input*/
    	inputs=document.getElementsByTagName('input');
    	for(i=0;i<inputs.length;i++)
    		{
    		inputs[i].onfocus=function(){ciao(this,event)};
    		inputs[i].onblur=function(){ciao(this,event)};
    		}
    	}

  8. #8
    Si, se usi solo IE, ma con firefox le funzioni qui sotto mi dicono

    Errore: event is not defined
    File sorgente: /General.js
    Riga: 131
    codice:
    function HighLight(Obj,event)
    	{//document.getElementById&&!document.all
    	if(document.all==undefined)
    		{//Netscape Firefox
    		if(event.type=="focus")
    			{Obj.setAttribute("class","Onfocus");}
    		if(event.type=="blur")
    			{Obj.setAttribute("class","");}		
    		}
    		else
    		{//IE
    		if(event.type=="focus")
    			{Obj.setAttribute("className","Onfocus");}
    		if(event.type=="blur")
    			{Obj.setAttribute("className","");}		
    		}
    	}
    	
    function SetInput()
    	{
    	//Setto tutti i campi input
    	inputs=document.getElementsByTagName('input');
    	for(i=0;i<inputs.length;i++)
    		{
    		inputs[i].onfocus=function(){HighLight(this,event)};
    		inputs[i].onblur=function(){HighLight(this,event)};
    		}
    	//Setto tutti i campi input
    	selects=document.getElementsByTagName('select');
    	for(i=0;i<selects.length;i++)
    		{
    		selects[i].onfocus=function(){HighLight(this,event)};
    		selects[i].onblur=function(){HighLight(this,event)};
    		}
    	}

  9. #9
    Ascolta, c'è qualcosa di poco chiaro. Ho testato il blocco di codice che ti ho postato in FireFox e funziona al 100%. Ora esamino meglio il tuo codice e vedo se c'è qualche errore, tu intanto prova il mio e dimmi... voglio capire perchè a me funziona e a te no.

    Edit: A supportare ulteriormente quel che ti dico, guarda questa pagina:

    http://www.w3schools.com/htmldom/dom_obj_event.asp

    Come puoi vedere l'oggetto "event" è supportato in FF sin dalla versione 1, con tutte le sue proprietà, incluso type. Ci deve essere qualche errore di sintassi o nel come dichiare le funzioni/inclusioni/quant'altro...


    Edit2: Puoi postarmi la parte di codice HTML dove includi il file JS? Il problema potrebbe essere proprio li...

  10. #10
    il codice lo puoi includere in qualsiasi pagina, l'intento era quello di far eseguire all'evento body onload una funzione che rilevasse tutti gli input/select e gli associasse il focus e blur.

    Credo che come dici tu, il problema sia nel passare alla funzione 2 parametri invece che 1, in fatti se passo event come dici tu il codice funziona, il problema sorge se devo passare più di un parametro..

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.