将值设置为隐藏的输入
问题描述:
正如您所看到的,我是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>
答
makeArray()是一种方法,而不是一个对象,所以实例是你扔一个错误(见api.jquery.com/jQuery.makeArray)。
只需创建你的数组像这样,似乎做你希望它是什么:
var months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];
答
你可以做这样的事情:
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" />
答
您的片段抛出:
Uncaught ReferenceError: makeArray is not defined
您可以使用:
var months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];
它被设置为偏好中心,这意味着用户可以随时返回到表单,更新信息并提交。 这意味着值必须通过提交来更新数据库与更新的日期。希望它是有道理的! – SkapaDesign
请显示表格并附上您对 – baao
的问题代码已包含代码,请告诉我现在是否清除! – SkapaDesign