Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    16

    [jQuery] Datepicker e focus

    Ciao a tutti!
    Ho un problema che mi assilla da qualche giorno.
    Ho creato una pagina html contenente 3 textbox : 2 contengono un datepicker (lo Zebra_datepicker) rispettivamente come data di arrivo e data di partenza ed un terzo è vuoto.
    Ora mi chiedo come è possibile spostare il focus sul terzo textbox (quello vuoto) dopo aver selezionato una data dal calendario del secondo datepicker...
    Ho provato a spostare il focus dopo l'evento onclick del secondo datepicker ma l'evento onclick altri non è che la selezione dell'icona del calendario e NON della selezione di una data all'interno del calendario stesso.

    help!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    Presupponendo che tu stia parlando di questo widget: zebra datepicker

    Sfrutta l'evento onchange o onselect come mostrato nell'esempio in quella pagina, non usare l'onclick per cambiare il focus.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    16
    eh...ho già provato in molti modi ma nn riesco...stasera posto qualche linea di codice.
    Grazie per la risposta!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    mmm interessante il pm...

    Ho provato a fare semplicemente questo:
    codice:
    <!doctype html>
    <html>
    <head>
    	<title>Prova Zebra DatePicker</title>
    	<link rel="stylesheet" type="text/css" href="public/css/metallic.css">
    	<script src='http://code.jquery.com/jquery-1.9.1.js'></script>
    	<script src='public/javascript/zebra_datepicker.src.js'></script>
    	<script>
    		$(function(){
    			$('#checkin').Zebra_DatePicker();
    			$('#checkout').Zebra_DatePicker({
    				onSelect: function(a,b,c,d){
    					$("#t3").focus();
    				}
    			});
    
    		});
    	</script>
    </head>
    <body>
    	<form>
    		<input type='text' id='checkin' />
    
    		<input type='text' id='checkout' />
    
    		<input type='text' id='t3' value='default' />
    	</form>
    </body>
    </html>
    Il risultato purtroppo è che il focus viene, a seguito dell'evento onSelect, impostato sul campo che subisce l'evento(cioè quello con id 'checkout').

    Dunque sono andato alla sorgente del male, cioè il file:
    public/javascript/zebra_datepicker.js

    Ecco la spina nel fianco:
    codice:
    m.focus()
    Ho commentato questo comando facendolo diventare così:
    codice:
    /*m.focus()*/
    Se per caso avessi incluso il sorgente in forma non minified il file da modificare sarebbe:
    public/javascript/zebra_datepicker.src.js

    Qui la riga da commentare è la 2442 contenente:
    codice:
    $element.focus();
    Falla diventare:
    codice:
    //$element.focus();
    Se non fosse la linea 2442 e se avessi difficoltà a trovare la parte da commentare considera che in entrambe i file (minified e non) l'unica occorrenza di 'focus()' è quella che ti causa il problema quindi cerca 'focus()' con la funzione cerca dell'editor di testo e commenta come spiegato sopra.

    Ora il .focus() nell'onSelect viene correttamente impostato sul terzo campo.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    16
    grandissimo!
    Funziona a meraviglia.
    Hai pm!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.