fermat ha scritto:
non devo inviare dati ad un database
Non è obbligatorio inviare dati a un database: basta ad esempio acquisire i dati di un filtro di ricerca.
fermat ha scritto:
sinceramente trovo scomodo fare questo usando un form e i dati in post.
Il form è solo un banale elemento <form> che racchiude gli elementi <input> di definizione del filtro, che al momento è composto da un solo campo contenente la data del giorno che ti interessa.
I dati possono essere inviati anche in GET, anzi in questo caso - trattandosi di filtro - credo che sia la scelta giusta.
In breve, l'URL che contiene i dati del filtro non viene composto in modo farraginoso mescolando un po' di HTML, JavaScript e addirittura PHP, ma viene definito automaticamente dal browser mettendo al suo interno le informazioni contenute nel form, che potrebbe includere campi "hidden" con ulteriori dati da specificare nel query string, assieme alla data selezionata di cui si è già parlato.
Non vedo la scomodità, bensì una funzionalità del tutto equivalente ma con un'adesione migliore agli standard, e quindi maggiori possibilità di avere dal browser (qualunque esso sia) un comportamento corretto, atteso e uniforme.
fermat ha scritto:
quindi, la cosa più veloce è scegliere la data e refreshare la pagina con la data.
In questo caso, nulla vieterebbe di generare un calendario intabellato direttamente nella pagina, proponendo un link per ogni giorno che richiami la pagina stessa indicando la data corrispondente, senza dover usare un controllo di input e gestirne gli eventi.
fermat ha scritto:
potrei aggiungere un tasto link che fa il refresh, invece di intercettare l'onchange.
Esatto: quello sarebbe appunto l'<input> o il <button> di tipo "submit" che invia i dati del filtro in GET e ottiene la pagina aggiornata.
fermat ha scritto:
per quanto riguarda la input date HTML, personalmente lo sto usando sempre, e non sto riscontrando problemi con nessun browser moderno.
Io ho aperto ora 3 browser differenti e in nessuno di questi appare allo stesso modo graficamente, oltre al fatto che un paio di browser hanno una lingua diversa dall'italiano come impostazione predefinita e quindi inseriscono una data "invertita" nel giorno e nel mese rispetto agli altri.
Oltre a questo, tu dici di non aver riscontrato alcun problema, ma la discussione attuale è stata aperta proprio per questo motivo.
fermat ha scritto:
se poi qualcuno usa IE7 (per esempio) non lo tengo in considerazione.
Si è detto "moderni".
fermat ha scritto:
personalmente, forse sbagliando eh, ho smesso di essere compatibile 100% con tutti i browser.
Non è una scelta che puoi fare tu, ma può essere dettata solo dai requisiti: se il cliente accetta la compatibilità con un singolo browser, tanto meglio per te. Se invece si tratta di qualcosa che deve raggiungere un bacino più ampio, non garantire questo aspetto significa perdere delle quote e quindi del denaro.
fermat ha scritto:
in questo caso specifico il problema pare essere l'evento onchange e safari.
qualcuno suggerisce onblur, ma trovo scomodo anche quello su android (non l'ho testato su iOS).
Questo è quello a cui mi riferivo dicendo che "non tutti i browser gestiscono questi nuovi controlli allo stesso modo".
Se vengono adottati, occorre lavorarci, si spera per pochi anni a venire.
Ciao!