Автоматическая вставка даты и времени в поле ввода формы? - PullRequest
8 голосов
/ 16 июня 2009

Используя javascript, как мы можем автоматически вставить текущую ДАТУ и ВРЕМЯ в поле ввода формы.

Я создаю форму «Проблемы», чтобы отслеживать жалобы пользователей на определенный сервис. Я собираю как можно больше информации. Я хочу избавить сотрудников от необходимости вручную вводить дату и время каждый раз, когда они открывают форму.

У меня есть этот фрагмент кода:

<input id="date" name="date" value="javascript:document.write(Date()+'.')"/>

но это не работает.

большое спасибо за любую помощь.

Ответы [ 10 ]

18 голосов
/ 16 июня 2009

Javascript не будет выполняться в атрибуте значения. Вы можете сделать что-то вроде этого, хотя:

<input id="date" name="date">

<script type="text/javascript">
  document.getElementById('date').value = Date();
</script>

Возможно, вы захотите отформатировать дату так, как вам нравится, потому что вывод Date () по умолчанию выглядит примерно так: Tue Jun 16 2009 10:47:10 GMT-0400 (Eastern Daylight Time). См. этот вопрос SO для получения информации о форматировании даты.

8 голосов
/ 30 марта 2015
<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();">

найдено здесь: http://jsbin.com/oqekar/1/edit?html,js,output

5 голосов
/ 16 июня 2009

См. Пример, http://jsbin.com/ahehe

Используйте JavaScript-утилиту форматирования даты, описанную здесь .

<input id="date" name="date" />

<script>
   document.getElementById('date').value = (new Date()).format("m/dd/yy");
</script>
3 голосов
/ 16 июня 2009

Самый быстрый способ получить хорошее форматирование даты - это использовать datejs .

Библиотека действительно проста в использовании и дает вам очень красивое форматирование.


Что касается вашего фрагмента кода, не используйте document.write, если можете помочь. попробуй

 document.getElementById("date").value = new Date().toUTCString(); 
2 голосов
/ 21 января 2015
$("#startDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));
$("#endDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));

Добавьте приведенный выше код в конец скрипта. Это необходимо, поскольку плагин datepicker не имеет возможности установить дату в элементе управления при инициализации.

1 голос
/ 26 июля 2014

Если вы используете HTML5 date

используйте этот код

HTML

<input type="date" name="bday" id="start_date"/>

Java Script

document.getElementById('start_date').value = Date();
0 голосов
/ 30 июня 2016
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();
0 голосов
/ 25 марта 2010

Другой вариант:

<script language="JavaScript" type="text/javascript"> 
document.getElementById("my_date:box").value = ( Stamp.getDate()+"/"+(Stamp.getMonth() + 1)+"/"+(Stamp.getYear()) );
</script>
0 голосов
/ 16 июня 2009

Похоже, вы сохраните значение, которое содержит поле ввода после отправки формы, что означает, что вы используете язык сценариев. Я бы использовал его вместо JavaScript, так как большинство языков сценариев имеют лучшие параметры форматирования времени / даты. В PHP вы можете сделать что-то вроде этого:

<input id="date" name="date" value="<?php echo date("M j, Y - g:i"); ?>"/>

Что бы заполнить поле "16 июня 2009 - 8:58"

0 голосов
/ 16 июня 2009
<input id="date" name="date" />
<script type="text/javascript">
document.getElementById("date").value = new Date();
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...