我正在创建一个包含利用jquery datepicker的输入元素的表单。以下是我的HTML对这些输入的看法示例:
<td style="width:15%"><input type="text" name="datepicker" id="Tb3fromRow10"/></td>
<td style="width:15%"><input type="text" name="datepicker" id="Tb3toRow10"/></td>
我遇到了一个需要日期格式为mm / dd / yyyy的问题,但数据库只接受yyyy-mm-dd中的格式。因此,我试图通过在窗体上显示为mm / dd / yyyy来破解它,但是有一个eventlistener onSubmit将所有日期格式更改为yyyy-mm-dd以便数据库可以记录下来。为此,我尝试编写一个基于getElementsByName创建数组的循环(因为我命名了所有这些元素&#34; datepicker&#34;),更改了所有格式,然后重新分配了所有ID&# 39; S。我想我已经完成了前两个步骤,但我仍然坚持重新分配ID的最后一步:
var myArray = document.getElementsByName('datepicker[]');
for(var i = 0; i < myArray.length; i++) {
var sep = myArray.split('/');
var newDate = sep[2]+'-'+sep[0]+'-'+sep[1];
}
**document.getElementsByName('datepicker[]').value = newDate;**
我知道最后一行不正确,有人可以帮我将所有日期元素重新分配到相应的ID吗?
谢谢!
答案 0 :(得分:1)
您没有重新分配ID。但是你没有正确使用myArray。假设name="datepicker[]"
而不是name="datepicker"
,您需要更改以下内容:
var myArray = document.getElementsByName('datepicker[]'); // or ("datepicker") depending on their name
for(var i = 0; i < myArray.length; i++) {
var sep = myArray[i].split('/');
var newDate = sep[2]+'-'+sep[0]+'-'+sep[1];
myArray[i].value = newDate;
}
无论如何,为什么不在存储之前验证并重新格式化服务器?