2013-02-27 3 views
2

Мне нужно отправить текущую дату в этом формате yyyymmdd через поле ввода скрытой формы.Отправить сегодняшнюю дату как скрытое значение ввода формы

У меня есть дата отформатирован, как я хочу с этим JavaScript

function getDate() 
{ 
var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 
var yyyy = today.getFullYear(); 
if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = yyyy+mm+dd; 
} 

И это мое поле ввода формы

<input type="hidden" name="startdate" onload="this.value = getDate();"/> 

Я попробовал несколько способов, чтобы назначить дату выше моей вар startdate и отправить его на сервер без каких-либо успехов.

Можете ли вы показать мне, как передать дату в мое скрытое поле ввода при загрузке страницы?

И мне интересно, есть ли у этого проблемы в отношении безопасности и хакеров?

Спасибо за вашу помощь

+4

Добавляет дату на стороне сервера и может быть и речи? – slamborne

+0

Да, у меня не будет доступа к разным сторонам. – user2066907

ответ

1
<input type="hidden" name="startdate" id="todayDate"/> 
<script type="text/javascript"> 
function getDate() 
{ 
    var today = new Date(); 
    var dd = today.getDate(); 
    var mm = today.getMonth()+1; //January is 0! 
    var yyyy = today.getFullYear(); 
    if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} 
    today = yyyy+""+mm+""+dd; 

    document.getElementById("todayDate").value = today; 
} 

//call getDate() when loading the page 
getDate(); 
</script> 
+0

также вызывайте функцию –

+0

, пожалуйста, отметьте ее как ответ, если у вас есть решение :) – PSR

+0

Это не учитывает часовые пояса. На самом деле, дата должна быть добавлена ​​на сервер. – bfavaretto

3

Если вы используете дату для какой-то проверки, то для безопасности вы бы гораздо лучше использовать на стороне сервера сценариев; таким образом, клиент не может подменять даты.

Кроме того, вы не должны использовать <input>, даже если вы использовали серверную часть для создания даты, поскольку вы все еще можете подменять время с помощью Firebug или многих других инструментов веб-разработчика. Представленный HTTP POST (или любой другой) может содержать поддельные данные. В конце концов, ничто не на 100% безопасно.

+0

Привет, Лука - дата только для записи при отправке формы. Посетители форм не захотят обманывать его, но спасибо, что спросили, что это хороший момент. – user2066907

Смежные вопросы