2016-02-08 34 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