Autore Topic: Campo data non visualizza calendario su internet explorer 11  (Letto 608 volte)

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30339
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Buongiorno

Sto implementando su un sito una scheda di iscrizione ad un corso, form ancora in fase di costruzione ma già presenta alcuni problemi fra gli altri che sto tentando di accomodare c'è la mancata visualizzazione del calendario del campo data solo, sembra, su internet Explorer 11 mentre non ho nessun problema per questo campo sugli altri browser.
Il form è fatto in html tratto da esempi trovati in rete.

link: https://consorziocoins.it/iscrizione-corso-safp.html
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline danielecr

  • Abituale
  • ****
  • Post: 1263
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #1 il: 16 Apr 2019, 11:28:28 »
Il problema è <input type="date"> che non è supportato da internet explorer.
Potresti usare uno script polyfill: prova a dare uno sguardo qui riguardo a polyfill e date input: https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30339
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #2 il: 20 Apr 2019, 09:48:10 »
Ciao Daniele e scusa se rispondo solo adesso

Ho letto parecchia documentazione su polyfill e mdernizr ho spulciato gli esempi e ho modificato il mio form ma senza successo, addirittura gli esempi in rete non funzionano sul mio ie 11, per essere sicuro che joomla non influenzasse con librerie e varie ho fatto le prove sul form html esterno qui:
https://consorziocoins.it/form/iscrizione-safp.html
Comunque farò delle prove su altro pc non vorrei che il mio ie11 fosse corrotto.

Intanto Buone feste Pasquali a tutti.
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline danielecr

  • Abituale
  • ****
  • Post: 1263
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #3 il: 20 Apr 2019, 10:46:54 »
Appena ho tempo cerco di mettere un esempio online: buona pre pasqua pre pasquetta a tutti e non spaccatevi troppo!!! ;D

Offline danielecr

  • Abituale
  • ****
  • Post: 1263
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #4 il: 21 Apr 2019, 11:12:36 »
Ciao,questo è un esempio che funziona su ie11, chrome e firefox ultime versioni.

Codice: [Seleziona]
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
    var datefield=document.createElement("input")
    datefield.setAttribute("type", "date")
    if (datefield.type!="date"){ //se il browser non supporta input type="date" carica jQuery UI Date Picker
        document.write('<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />\n')
        document.write('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"><\/script>\n')
        document.write('<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"><\/script>\n')
    }
</script>
 
<script>
if (datefield.type!="date"){ //se il browser non supporta input type="date", inizializza il widget date picker:
    jQuery(function($){
        $('#id-data').datepicker();
    })
}
</script>
</head>
 
<body>
<form>
<b>Data:</b>
<input type="date" id="id-data" name="id-data" size="20" />
<input type="button" value="Invia" name="Bottone1"></p>
</form>
</body>
</html>

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30339
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #5 il: 22 Apr 2019, 09:16:55 »
Grazie Daniele
Stavo tentando con https://wet-boew.github.io/v4.0-ci/index-en.html e ci ero quasi riuscito ma col tuo esempio è andato subito pur con qualche intoppo, infatti stranamente il calendario compare ma mi rende la data solo al secondo tentativo, questo nel mio form, per adesso sempre esterno a joomla per poi integrarlo quando funzionerà perfettamente. Il tuo esempio invece funziona perfettamente.
Devo dire che però manca della funzione data min e data max, essendo la richiesta, nel form, di una data di nascita vorrei limitarne l'escursione solo su date utili.

In attesa di risolvere questo posterò a parte per altri problemi che sto incorrendo.
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline danielecr

  • Abituale
  • ****
  • Post: 1263
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #6 il: 22 Apr 2019, 10:35:08 »
Devo dire che però manca della funzione data min e data max, essendo la richiesta, nel form, di una data di nascita vorrei limitarne l'escursione solo su date utili.
Puoi impostarle, sia con jQuery ui sia in input type date, vedi esempio:
Codice: [Seleziona]
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
    var datefield=document.createElement("input")
    datefield.setAttribute("type", "date")
    if (datefield.type!="date"){ //se il browser non supporta input type="date" carica jQuery UI Date Picker
        document.write('<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />\n')
        document.write('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"><\/script>\n')
        document.write('<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"><\/script>\n')
    }
</script>
 
<script>
if (datefield.type!="date"){ //se il browser non supporta input type="date", inizializza il widget date picker:
    jQuery(function($){
        $('#id-data').datepicker({
    dateFormat: "yy-mm-dd",
    minDate: new Date('2019-03-01'),
    maxDate: new Date('2019-06-30'),
    });
    });
}
</script>
</head>
 
<body>
<form>
Data:
<input type="date" id="id-data" name="id-data" min="2019-03-01" max="2019-06-30" size="20" />
<input type="button" value="Invia" name="Bottone1">
</form>
</body>
</html>

PS: in ie11 compare un avviso di abilitare ActiveX, che va abilitato, altrimenti il calendario non compare
« Ultima modifica: 22 Apr 2019, 10:41:48 da danielecr »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30339
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #7 il: 22 Apr 2019, 12:25:31 »
Citazione
PS: in ie11 compare un avviso di abilitare ActiveX, che va abilitato, altrimenti il calendario non compare
Per comparire compare ma per settare la data devo cliccarci due volte.
Poi stranamente le date min e max funzionano solo col formato dell'esempio, se metto dd-mm-yy e data max 31-12-2001 mi parte dal 2003
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30339
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Campo data non visualizza calendario su internet explorer 11
« Risposta #8 il: 28 Apr 2019, 10:27:26 »
Alla fine ho scelto un metodo diverso tipo selettore  giorno mese anno che è molto più pratico per scegliere una data di nascita, però di contro c'è che non ho un controllo sulla veridicità della data inserita. Pur se ho maggior controllo  del limiti di inserimenti come date valide per una persona compresa fra, per esempio, 18 e 50 anni non mi segnala una data non valida come per esempio 31 Maggio o 30 Febbraio e così via.
Esiste un modo per validare?
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

 

Host

Torna su