2016-02-08 99 views
0

我很難將當前日期輸入到我創建的表單中的文本框中作爲默認值。目前,我有以下代碼,我相信會創建當前日期,然後是文本框代碼,我不確定如何修改以便日期顯示在裏面。在文本框中顯示當前日期 - javascript

function getDate(){ 
var todaydate = new Date(); 
var day = todaydate.getDate(); 
var month = todaydate.getMonth() + 1; 
var year = todaydate.getFullYear(); 
var datestring = day + "/" + month + "/" + year; 
document.getElementById("frmDate").value = datestring(); 
} 
<input type="text" name="frmDateReg" required id="frmDate" value="getDate()"> 

如果任何人都可以建議如何創建今天的日期並將其輸入到文本框作爲默認值,將不勝感激。 (請原諒任何格式問題,因爲我是新的堆棧溢出)謝謝

+0

設置'值= 「GETDATE()」'不會執行你的函數。您需要添加一個從js調用getDate()的腳本。 – styfle

回答

1

你有正確的想法。它只是無序:

<input type="text" name="frmDateReg" required id="frmDate" value=""> 

function getDate(){ 
    var todaydate = new Date(); 
    var day = todaydate.getDate(); 
    var month = todaydate.getMonth() + 1; 
    var year = todaydate.getFullYear(); 
    var datestring = day + "/" + month + "/" + year; 
    document.getElementById("frmDate").value = datestring; 
    } 
getDate(); 

您的代碼是正確的,除了在值中添加函數調用不做任何事。你需要別的東西來觸發該功能。我在那裏的方式,它會在頁面加載時自動執行。

Aslo,datestring不是函數。這只是一個變量。所以,你可以離開關()

+0

不幸的是我修改了代碼,但它仍然沒有在文本框中顯示日期,它只是空白,這個框仍然是空的嗎?謝謝你的答覆,無論 –

+0

檢查你的控制檯。我懷疑這是因爲頁面上加載的東西的順序。如果INPUT元素尚未渲染,則無法放置文本。 – durbnpoisn

+0

它在工作,OP如何面對問題。 –

0

<html> 
<body onload="myFunction()"> 
Date: <input type="text" id="demo"/> 
<script> 
function myFunction() { 
document.getElementById('demo').value= Date(); 
} 
</script> 
</body> 
</html> 

使用此代碼。這將有幫助

0
<input type="text" name="frmDateReg" required id="frmDate" > 


<script> 
function getDate(){ 
var todaydate = new Date(); 
var day = todaydate.getDate(); 
var month = todaydate.getMonth() + 1; 
var year = todaydate.getFullYear(); 
var datestring = day + "/" + month + "/" + year; 
document.getElementById("frmDate").value = datestring; //don't need() 
} 

document.getElementById("frmDate").onload = getDate(); 
</script> 
0

試試這個jQuery代碼,這將工作

$(document).ready(function() { 
     var dateNewFormat, onlyDate, today = new Date(); 

     dateNewFormat = today.getFullYear() + '-'; 
     if (today.getMonth().length == 2) { 

      dateNewFormat += (today.getMonth() + 1); 
     } 
     else { 
      dateNewFormat += '0' + (today.getMonth() + 1); 
     } 

     onlyDate = today.getDate(); 
     if (onlyDate.toString().length == 2) { 

      dateNewFormat += "-" + onlyDate; 
     } 
     else { 
      dateNewFormat += '-0' + onlyDate; 
     } 

     $('#mydate').val(dateNewFormat); 
    }); 

Razor視圖此

@Html.TextBoxFor(m => m.StartedDate, new { @id = "mydate", @type = "date", @class = "form-control" }) 
0

HTML

<input type="text" id="frmDate"></input> 

的JavaScript

var date = new Date(); 
document.getElementById("frmDate").value = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear(); 

Jsfiddle Demo