En utilisant javascript, comment pouvons-nous insérer automatiquement la date et l'heure actuelles dans un champ de saisie de formulaire.
Je construis un formulaire "Problèmes" pour suivre les plaintes des utilisateurs concernant un service donné. Je collecte autant d'informations que possible. Je veux éviter que le personnel ne soit obligé d'entrer manuellement la date et l'heure à chaque ouverture du formulaire.
J'ai cet extrait de code:
<input id="date" name="date" value="javascript:document.write(Date()+'.')"/>
mais ça ne marche pas.
un grand merci pour toute aide.
Javascript ne s'exécutera pas dans un attribut value. Vous pouvez faire quelque chose comme ça, cependant:
<input id="date" name="date">
<script type="text/javascript">
document.getElementById('date').value = Date();
</script>
Vous voudrez probablement formater la date comme vous préférez, car la sortie par défaut de Date () ressemble à quelque chose comme: Tue Jun 16 2009 10:47:10 GMT-0400 (Eastern Daylight Time)
. Voir cette SO question pour plus d'informations sur le formatage d'une date.
<input type="date" id="myDate" />
<script type="text/javascript">
function SetDate()
{
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
var today = year + "-" + month + "-" + day;
document.getElementById('myDate').value = today;
}
</script>
<body onload="SetDate();">
trouvé ici: http://jsbin.com/oqekar/1/edit?html,js,output
Voir l'exemple, http://jsbin.com/ahehe
Utilisez l’utilitaire de formatage de date JavaScript décrit ici .
<input id="date" name="date" />
<script>
document.getElementById('date').value = (new Date()).format("m/dd/yy");
</script>
Le moyen le plus rapide d’obtenir un formatage de la date qui n’a aucun intérêt est d’utiliser datejs .
La lib est très facile à utiliser et vous donne un très joli formatage.
en ce qui concerne votre extrait de code, n’utilisez pas document.write si vous pouvez l’aider. essayer
document.getElementById("date").value = new Date().toUTCString();
$("#startDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));
$("#endDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));
Ajoutez le code ci-dessus à la fin du script. Cela est nécessaire car le plugin datepicker ne contient aucune disposition permettant de définir la date dans le contrôle lors de l'initialisation.
Si vous utilisez la date HTML5
utiliser ce code
HTML
<input type="date" name="bday" id="start_date"/>
Java Script
document.getElementById('start_date').value = Date();
Il semble que vous stockiez la valeur contenue dans le champ de saisie après la soumission du formulaire, ce qui signifie que vous utilisez un langage de script. Je l'emploierais au lieu de JavaScript car la plupart des langages de script ont de meilleures options de formatage date/heure. Dans PHP, vous pouvez faire quelque chose comme ceci:
<input id="date" name="date" value="<?php echo date("M j, Y - g:i"); ?>"/>
Ce qui remplirait le champ avec "16 juin 2009 - 8:58"
var date = new Date();
document.getElementById("date").value = date.getFullYear() + "-" + (date.getMonth()<10?'0':'') + (date.getMonth() + 1) + "-" + (date.getDate()<10?'0':'') + date.getDate();
document.getElementById("hour").value = (date.getHours()<10?'0':'') + date.getHours() + ":" + (date.getMinutes()<10?'0':'') + date.getMinutes();
Une autre option est:
<script language="JavaScript" type="text/javascript">
document.getElementById("my_date:box").value = ( Stamp.getDate()+"/"+(Stamp.getMonth() + 1)+"/"+(Stamp.getYear()) );
</script>
<input id="date" name="date" />
<script type="text/javascript">
document.getElementById("date").value = new Date();
</script>