簡體   English   中英

javascript數組循環,用於重新分配元素ID

[英]javascript array loop for reassigning element ID's

我正在創建一個利用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創建一個數組(因為我將所有這些元素都命名為“ datepicker”),更改了所有格式,然后重新分配了所有ID。 我想我已經完成了前兩個步驟,但是停留在重新分配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嗎?

謝謝!

您沒有重新分配ID。 但是您沒有正確使用myArray。 這是您需要更改的,假設您的示例的HTML部分像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;
} 

無論如何,為什么不在存儲之前在服務器上進行驗證並重新格式化?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM