Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [edit] Form e autofocus

    quel blog fa un casino con i pre ... oppure sono io impedito a scrivere codice in quel blog ... resta il fatto che l'alternativa, per me, è questa:
    codice:
    function focusForm(id){
    	(function(){
    		var	form = document.getElementById(id);
    		if(!document.body || !form)
    			setTimeout(arguments.callee, 1);
    		else {
    			for(var	i = 0,
    				focus = false,
    				inputs = form.getElementsByTagName("INPUT");
    				i < inputs.length && !focus;
    				i++)
    			{
    				if(
    					inputs[i].type.toLowerCase() == "text" &&
    					inputs[i].value != inputs[i].defaultValue
    				)
    					focus = true;
    			};
    			if(!focus && inputs[0])
    				inputs[0].focus();
    		}
    	})();
    };
    focusForm("myform");
    non si scomoda l'onload, non si scomoda l'onAvailable ... non si comoda l'utente ... appena il form con quell'id è disponibile si mette in focus il primo input se nessun campo di tipo text è stato modificato.

    Saluti
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    io, invece di
    codice:
    setTimeout(arguments.callee, 1);
    metterei
    codice:
    setTimeout(arguments.callee, 50);
    Mettere il timeout a 1 solo millisecondo utilizza molta cpu e dà l'impressione all'Utente che qualcosa non va, sia pure per il tempo necessario a caricare la pagina.
    50 millisecondi non vengono assolutamente notati.
    Ah, la setTimeout! Quante volte mi ha tolto d'impaccio!
    ciao
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Originariamente inviato da homezappa
    Mettere il timeout a 1 solo millisecondo utilizza molta cpu
    ... non sapevo che un solo getElementById utilizzasse molta cpu ... :rollo:


    in generale sono d'accordo con te ma se il timeout è su una funzione strabanale mono-operazione come quella che ho postato il problema non sussiste per nessuno, nemmeno per i 486 se ancora esistono

    vada per i 50 (io di solito metto 20) se vuoi stare stra tranquillo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non alcuna vergogna a dichiarare di non aver capito il senso di questa discussione... :master:
    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

  5. #5

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Xinod
    http://blog.html.it/archivi/2006/10/...-autofocus.php
    da <edit> di oggi
    Grazie
    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

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.