2016-09-27 135 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'];