Ir para conteúdo
Fórum Script Brasil
  • 0

Como usar <input type=date> no PHP


Frank K Hosaka

Pergunta

Hoje passei vexame no fórum Script Brasil, o Iowys mostrou para o Brasil inteiro que eu não sabia que o HTML tem um marcador com um calendário embutido.

Eu pastei dois anos da minha vida tentando me virar com o datepicker do JQuery.

Depois do vexame de hoje, a primeira coisa que eu fiz foi jogar fora o arquivo principal do JQuery, o arquivo auxiliar do JQuery-UI, o arquivo de estilo JQuery.css, e finalmente a pasta image do JQuery.css, e também entrei no meu código menu.php, e a metade do código também joguei fora.

E assim chegou a hora de usar o novo tag. Eu escrevi assim:
 

<?php
$dia="2022/06/28";
echo "<input type=date value=$dia>";

Sabe o que aconteceu? Nada, só apareceu o ícone do calendário!

Na hora de consultar o Google, eu vi trezentos programadores tentando atribuir o valor para o datepicker, esse não era mais o meu caso. Mas, por sorte eu encontrei um tutorial que funcionou. O modo correto de usar o <input type=date> bem como todos os outros <input> é assim:

<?php
$dia="2022/06/28";
echo "<label><input type=date value=$dia></label>";

Para quem detesta escrever como eu, a outra alternativa é assim:

echo "<input type=date value=$dia aria-label=data>";

mas isso é pura ilusão, você acaba digitando a mesma quantidade de caracteres.

 

==================================== Tudo o que escrevi acima está errado.

Fazendo teste com o <input type=date> dentro do HTML, eu vi que o problema não é a ausência ou presença do <label>, mas do formato do valor.
Ele não pode ser assim 2022-6-28, mas assim 2022-06-28, ou seja, além da notação americana, o mês precisa ter dois dígitos. No HTML, eu resolvi assim:

 

<input id=inpdia type="date">
<script>
data=new Date()
dia=data.getUTCDate()
mes=data.getUTCMonth()+1
if (mes<10) {mes="0"+mes}
ano=data.getUTCFullYear()
inpdia.value=ano+"-"+mes+"-"+dia
</script>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...