2017-07-25 31 views
3

我想將默認日期設置爲我的asp.net web表單中的文本框,在表單加載上使用jquery。爲此,我使用函數:用表單上的dd/mm/yy格式填充文本框

<!DOCTYPE html> 
 
<html> 
 
<body onload="myFunction()"> 
 
<input type="text" class="form-control" placeholder="dd/mm/yyyy" autocomplete="off" id="datepicker2" name="datepicker2" /> 
 
<p id="demo"></p> 
 

 
<script> 
 
function myFunction() { 
 
    var d = new Date(); 
 
    var n = d.toLocaleDateString(); 
 
    document.getElementById("datepicker2").defaultValue = n; 
 
} 
 
</script> 
 

 
</body> 
 
</html>

但是,當我將此添加到我的解決方案的日期格式更改爲MM/DD/YYYY,其中我期待它在DD/MM/YYYY格式。

爲什麼toLocaleDateString();不能解決我的問題? datepicker2datepicker。對於日曆視圖,我有一個功能datepicker(),當我使用鼠標選擇日期時,該功能還以dd/mm/yyyy格式輸出。

那麼,如何填充datepicker2與當前日期在dd/mm/yyyy格式?
注意:僅當我使用FireFox時,發生此問題

+0

25/07/2017爲DD/MM/YY格式。所以你的問題是什麼(我檢查了鉻/火狐/ Safari瀏覽器) –

+0

@AlivetoDie在我的解決方案中它的07/25/2017(在Firefox上) – Jack

+0

我認爲你有一些其他代碼操縱數據 –

回答

0

toLocaleDateString()在用戶的語言環境中顯示日期,因此它取決於客戶端(因爲我在西班牙,它顯示爲dd/mm/yyyy,因爲這是我的默認語言環境,但對於美國的某個用戶會有所不同, 例如)。對於你想要做什麼,請嘗試:

function myFunction() { 
    var d = new Date(); 
    var day = ('0' + d.getDate()).slice(-2); 
    var month= ('0' + (d.getMonth()+1)).slice(-2); 
    var year = d.getFullYear(); 
    var n = day + '/' + month + '/' + year ; 
    document.getElementById("datepicker2").defaultValue = n; 
} 
+0

謝謝!它的工作:)! – Jack

+0

不客氣,我很樂意幫忙!您能否將答案標記爲已接受,請?:) –

3

<!DOCTYPE html> 
 
<html> 
 
<body onload="myFunction()"> 
 
<input type="text" class="form-control" placeholder="dd/mm/yyyy" autocomplete="off" id="datepicker2" name="datepicker2" /> 
 
<p id="demo"></p> 
 

 
<script> 
 
function myFunction() { 
 
    var d = new Date(); 
 
    var n = d.toLocaleDateString("en-IN"); 
 
    document.getElementById("datepicker2").defaultValue = n; 
 
} 
 
</script> 
 

 
</body> 
 
</html>

更改toLocateDateString如下

var n = d.toLocaleDateString("en-IN"); 
+0

它也適用於我。感謝您的幫助。 – Jack

+0

Plz upvote m answer – codegeek