我遇到HTML问题,无法在任何地方找到可靠的帮助。我有一个带有一些字段的HTML表单,我想将当前日期和时间插入两个表单字段。我使用了以下示例: Auto insert date and time in form input field? 并插入这样的JS代码(顺便说一句,这个代码片段也来自StackOverflow的一个问题):
<script type="text/javascript">
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var hh = today.getHours();
var mn = today.getMinutes();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
if(hh<10) {
hh='0'+hh
}
if(mn<10) {
mn='0'+mn
}
today = yyyy+'-'+mm+'-'+dd;
var now = hh+':'+mn;
document.write(today);
document.write(now);
</script>
此HTML代码应该在表单字段中插入日期和时间:
<p>Data:
<input type="text" name="date" id="iddate" size="10" />
<script type="text/javascript">
document.getElementById('iddate').value = document.write(today);
</script>
</p>
<p>Godzina: <input type="text" name="time" id="idtime" size="5" />
<script type="text/javascript">
document.getElementById('idtime').value = document.write(now);
</script>
</p>
但结果如您所见[{3}}:字段旁边显示日期和时间,字段值为&#34;未定义&#34;。我不明白发生了什么。你能给我一些建议吗?在网站的顶部是document.write()
函数的结果,它们看起来是正确的。
答案 0 :(得分:0)
只需删除'document.write'。
像这样调用你的代码:
document.getElementById('iddate').value = today;
并且像这样:
document.getElementById('idtime').value = now;
document.write()使用指定的文本附加文档并返回undefined,因此将某些内容设置为该值,只是使其“未定义”
答案 1 :(得分:0)
当您尝试为javascript中的某个字段指定一些值时,您只需执行以下操作:
document.getElementById('yourId').value = value_to_assign;
并且不要使用document.write,因为document.write
方法直接将字符串输出到页面中。
阅读有关document.write的事实:http://javascript.info/tutorial/document-write