Visualizzazione dei risultati da 1 a 9 su 9

Discussione: window.alert e focus

  1. #1

    window.alert e focus

    ho fatto una semplice funzione in javascript che controlla se la qty in un campo input è minore di quella disponibile.... senno manda un alert...
    come faccio dopo il click sull'alert avere il focus nel campo qty...





    codice:
    <html>
    <head>
    <title>Esempio</title>
    <script type="text/javascript">
    function confronto(x)
    {
    if(document.getElementById(x).value>document.getElementById(x+"_disp").value){
    var mess="Quantità Disponibile: ";
    var alarm=mess + document.getElementById(x+"_disp").value;
    
    alert(alarm);
    
    }
     }
    </script>
    
    
    </head>
    <body onload="document.pro.prod.focus();">
    <form name="pro" method="post">
    
     QTY<input type="text" name="qty32" id="qty32" value=1 onblur="confronto(this.id)">
     <input type="hidden" name="qty32_disp" id="qty32_disp" value=10 >
    
     id=32
    qty disponibile=10
    modello=mod_prod_1
    immagine=prod_1.gif
    
    
     QTY<input type="text" name="qty33" id="qty33" value=1 onblur="confronto(this.id)">
     
    <input type="hidden" name="qty33_disp" id="qty33_disp" value=15 >
    
     id=33
    qty disponibile=15
    modello=mod_prod_2
    immagine=prod_2.gif
    
    
    <input type="hidden" name="prodotto[]" value="32-33-">
    <input type="text" name="prod" id="prod">
    
    <input type="reset" value="cancella">
    <input type="submit" value="conferma">
    </form>
    </body>
    </html>
    logicamente c'è il php dietro che carica dal database...
    grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    document.getElementById(x).focus();

    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

  3. #3
    c'avevo già provato se lo metto dopo alert();

    è come se non ci fosse...

    ovvero il focus rimane dove ho cliccato prima dell'alert per lasciare il campo di input....

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ho copia/incollato il tuo codice, aggiunto la mia riga e tutto funziona...

    Posta un link alla tua pagina

    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

  5. #5
    ciao...e grazie di perdere tempo ... è sicuramente una ca22ata...
    cmq questo è il link..
    http://webgiovi.altervista.org/pro.html


    fai le prove che credi... io ho provato con I.E. e va ma con un errore... in quanto nel primo campo qty qualsiasi numero metto mi manda l'alert e mi fa il focus e select (aggiunta)
    mentre con FF non mi va ammodo....

  6. #6
    Vedi se pu&ograve; fare al caso tuo:
    codice:
    <script type="text/javascript">
    function goFocus(x) {
        document.getElementById(x).focus();
        document.getElementById(x).select();
    }
    function confronto(x) {
        if(document.getElementById(x).value>document.getElementById(x+"_disp").value){
            var mess="Quantità Disponibile: ";
            var alarm=mess + document.getElementById(x+"_disp").value;
            alert(alarm);
            setTimeout(function(){goFocus(x);},50);
        }
    }
    </script>
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  7. #7
    GRAZIE!!!
    PERFETTO...
    ma come mai ci vuole setTimeout....
    cmq davvero grazie

  8. #8
    Tu hai messo la funzione sull'onblur del campo.
    Se l'onblur scatta (per esempio) perch&egrave; hai premuto il tasto TAB per passare al campo successivo, succede che il browser si accorge che sei uscito dal campo (onblur), esegue la tua funzione (che manda l'alert ed il focus), poi si ritrova in canna il tasto TAB da eseguire e ... lo esegue, andando sul campo uccessivo.
    Io in passato la ho risolta come ti ho detto, senza indagare.
    Lascio fare al browser quello che vuole, poi gli faccio eseguire quello che pare a me dopo un ritardo di 50 msec (il minimo)

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  9. #9
    grazie per la spiegazione...

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.