2016-09-27 126 views
0

正如您所看到的,我是JavaScript的新手,我正在处理一个表单,当用户点击提交时需要发送当天的日期值,以了解信息的上次更新时间。将值设置为隐藏的输入

我目前有以下代码,但似乎没有更新该字段的日期。你能帮我理解为什么吗?

<script type="text/javascript"> 
 

 
    var datetoday = new Date(); 
 
    var months = new makeArray('Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'); 
 
    var day = datetoday.getDate(); 
 
    var month = datetoday.getMonth() + 1; 
 
    var yyyy = datetoday.getFullYear(); 
 
    var my_date = day+"-"+months[month]+"-"+yyyy; 
 

 
    document.getElementById("DATE_TODAY").value = my_date; 
 
</script>
<form method="POST"> 
 
    * First Name: 
 
    <input name="FNAME" type="text" /> 
 
    <br> 
 
    * Last Name: 
 
    <input name="LNAME" type="text" /> 
 
    <br> 
 
    * Street Address: 
 
    <input name="ADDRESS" type="text" /> 
 
    <input type="hidden" name="DATE_TODAY" id="DATE_TODAY" /> 
 
</form>

+0

它被设置为偏好中心,这意味着用户可以随时返回到表单,更新信息并提交。 这意味着值必须通过提交来更新数据库与更新的日期。希望它是有道理的! – SkapaDesign

+0

请显示表格并附上您对 – baao

+0

的问题代码已包含代码,请告诉我现在是否清除! – SkapaDesign

回答

1

makeArray()是一种方法,而不是一个对象,所以实例是你扔一个错误(见api.jquery.com/jQuery.makeArray)。

只需创建你的数组像这样,似乎做你希望它是什么:

var months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];

0

你可以做这样的事情:

var m_names = new Array("Jan", "Feb", "Mar", 
 
    "Apr", "May", "Jun", "Jul", "Aug", "Sep", 
 
    "Oct", "Nov", "Dec"); 
 

 
var d = new Date(); 
 
var curr_date = d.getDate(); 
 
var curr_month = d.getMonth(); 
 
var curr_year = d.getFullYear(); 
 
var my_date = (curr_date + "-" + m_names[curr_month] + "-" + curr_year); 
 

 
document.getElementById("DATE_TODAY").value = my_date;
<input type="text" name="DATE_TODAY" id="DATE_TODAY" />

0

您的片段抛出:

Uncaught ReferenceError: makeArray is not defined

您可以使用:

var months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];