2017-04-12 108 views
0

我的表單上有兩個元素,一個是輸入文本日期選擇器,第二個是輸入文本。我想在日期改變後將日期選擇器字段中的值複製到第二個輸入文本框中。當我點擊日期選擇器時,但當我選擇另一個不會影響另一個輸入字段的日期後,我當前的功能將複製當前值。解決這個問題的最佳選擇是什麼?這裏是我的例子:值更改後,將值從一個元素複製到另一個元素?

<td> 
    <input type="text" name="addDate_dt" id="addDate_dt" maxlength="10" size="12" value="" readonly="readonly"> 
</td> 

<td> 
    <input type="text" name="st_begDt" id="st_begDt" maxlength="10" size="12" value="#Dateformat(st_begDt,'mm/dd/yyyy')#" readonly="readonly"> 
    <img src='calendar.gif' alt='Calendar' onclick="calendar(event,'o_begDt')"; 
onMouseup="copyBegDt()"> 
</td> 

function copyBegDt(){ 
     var begDt = document.getElementById('st_begDt').value; 

     if(begDt.trim() !== ''){ 
      document.getElementById('addDate_dt').value = begDt; 
     }else{ 
      document.getElementById('addDate_dt').value = ''; 
     } 
    } 

另外我想填充頁面加載addDate_st字段以及。注意,我不想修改我的日曆功能,因爲它也在我的應用程序的其他頁面上使用。

+0

這基本上是一個重複:http://stackoverflow.com/questions/39249781/how-to-detect-programmatic-value-change-on-input-field – mcgraphix

回答

1

如果st_begDt已經正確更新了,那麼只需在該輸入上創建更改監視表呢?

var begDt = document.getElementById('st_begDt'); 
begDt.onchange = function() { 
    //update other input here 
}; 
+0

我必須調用此函數從某處開始,或者每次開始日期改變時都應該觸發它?我已經嘗試過,並且不適合我。 –

+0

@espresso_coffee您需要將它放在某種'document.ready'函數中,以便在頁面呈現後開始觀看。如果你沒有使用jQuery然後把它放在這樣的東西:http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery –

+0

@espresso_coffee做到了解決你的問題?讓我知道,如果我可以進一步幫助。 –

相關問題