我需要使用计算日期填充文本框,并且无法显示计算值。 例如文本框应默认为今天的日期+ 5天。 我有java脚本进行计算,它们正在工作,我知道我使用文本框的“value”属性,但我不确定将java脚本var解析为value属性的语法。
var currentTime = new Date()
var day = currentTime.getDate() +5
var year = currentTime.getFullYear()
var month = currentTime.getMonth() + 1;
var calcdate = day + "/" + month + "/" + year;
<input type="text" name="T1" size="20" id="sub_date" value="<document.write(subdate)">
答案 0 :(得分:3)
我可能会从你的calcdate(及相关变量)开始,并将其粘贴在一个函数中:
function calculate_date() {
currentTime = new Date();
day = currentTime.getDate() + 5;
year = currentTime.getFullYear();
month = currentTime.getMonth() + 1;
calcdate = day + "/" + month + "/" + year;
return calcdate;
}
我们可以设置另一个小函数,它实际上会在所需元素中插入日期:
function prepopulate_date() {
document.getElementById("sub_date").setAttribute('value', calculate_date());
}
上面的内容与您之前想要做的相同,但方式稍微更清晰。
最后,我们需要实际调用此函数。到目前为止,我们只设置了为我们工作的功能,我们还没有告诉他们运行。最重要的是,我们需要在尝试向其中插入任何内容之前确保元素实际上“存在”。一个常见的问题,如果你没有在加载或'ready'事件上执行此操作(据我所知,只有在使用外部JavaScript库时才能获得),您将尝试将值插入到因为浏览器没有时间加载页面的整个html内容而尚不存在的元素。所以我们可以做如下的事情:
window.onload = prepopulate_date;
如果您愿意,可以下载example。
我希望这会有所帮助。欢呼声。
答案 1 :(得分:2)
document.getElementById('sub_date').value(calcdate);
或类似的东西