web-dev-qa-db-fra.com

Commentaire supplémentaire sur les valeurs de HTML <input type = "date"> en utilisant jQuery

Utilisation d'un HTML input type="date" et d'un bouton d'envoi. J'aimerais renseigner les variables day, month et year avec les valeurs appropriées à partir de l'entrée de date.

<input type="date" id="date-input" required />
<button id="submit">Submit</button>

et le jQuery:

var day, month, year;

$('#submit').on('click', function(){
  day = $('#date-input').getDate();
  month = $('#date-input').getMonth() + 1;
  year = $('#date-input').getFullYear();
  alert(day, month, year);
});

Voici un exemple de code: https://jsfiddle.net/dkxy46ha/

l'erreur de la console me dit que .getDate() n'est pas une fonction.

J'ai vu des questions similaires mais les solutions n'ont pas fonctionné pour moi. Comment puis-je extraire le jour, le mois et l'année du input type="date"? Merci

10
jmancherje

Tout d'abord, vous devez créer un objet Date à partir de la valeur de l'élément input. Et vous pourrez alors obtenir le jour, le mois et l'année de cet objet.

$('#submit').on('click', function(){
  var date = new Date($('#date-input').val());
  day = date.getDate();
  month = date.getMonth() + 1;
  year = date.getFullYear();
  alert([day, month, year].join('/'));
});

Exemple de travail: https://jsfiddle.net/8poLtqvp/

12
Yuriy Yakym

La valeur de date renvoyée par input type="date" est au format yyyy-mm-dd. Peut utiliser .split() avec l'argument "-" pour récupérer un tableau contenant [yyyy, mm, dd]

Remarque: alert() attend une chaîne en tant que paramètre; n'imprime pas les mêmes valeurs que console.log() avec l'opérateur virgule ,

var day, month, year;

$('#submit').on('click', function() {
  var date = $('#date-input').val().split("-");
    console.log(date, $('#date-input').val())
  day = date[2];
  month = date[1];
  year = date[0];
  alert(day + month + year);
});

jsfiddle https://jsfiddle.net/dkxy46ha/2/

3
guest271314
date = new Date($('#date-input').val())
date.getDate()

...

2
Oleg Sklyar
        <input type="date" id="date-input"/>
        <input type="submit" id="submit" value="submit"/>


<script>
      $('#submit').on('click', function(){
              var date = new Date($('#date-input').val());
              var day = $('#date-input').getDate();
              var month = $('#date-input').getMonth() + 1;
              var year = $('#date-input').getFullYear();
              alert(day+"/"+ month+"/"+year);
            });
    </script>

La classe de date convertira les données d'entrée en type de date. Ensuite, getMonth () nous donne une valeur de 0 à 11 afin que nous puissions considérer janvieras 0 ou ajouter 1 à la valeur reçue, ce que j’ai fait ici.

Ici, je viens d'utiliser Jquery pour récupérer la date, les mois et l'année respectivement et si vous souhaitez publier les données, vous pouvez convertir ces valeurs en chaîne.

0
pramod gupta