gpt4 book ai didi

javascript - 在html表单日期输入中设置默认值

转载 作者:行者123 更新时间:2023-12-01 02:44:45 25 4
gpt4 key购买 nike

中,我有一个带有两个日期输入的 html 表单。我想将默认值设置为当天的前一周。

我无法让以下脚本工作。谁能指出我做错了什么?

我收到“对象不允许添加或更改属性” 错误。

代码.gs:

function pickDates() {
var d = new Date();
var e = new Date();
d.setDate((d.getDate() - d.getDay() % 7) - 7);
e.setDate(e.getDate() - (e.getDay() + 1) % 7);
d = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
e = e.getFullYear() + '-' + (e.getMonth() + 1) + '-' + e.getDate();
var htmlB = HtmlService.createHtmlOutputFromFile('Pick Dates').setWidth(200).setHeight(200);
htmlB.d = d;
htmlB.e = e;
SpreadsheetApp.getUi().showModalDialog(htmlB, 'Select Dates');
}

选择日期.html:

<!DOCTYPE html>
<html>

<head>
<base target="_top">
</head>

<body>
<form>
Start Date<br>
<input id="start" type="date" name="startDay">
<br><br> End Date<br>
<input id="end" type="date" name="endDay">
<br><br>
<input type="button" value="Submit" onclick="google.script.run
.withSuccessHandler(google.script.host.close)
.sendEmails(this.parentNode)" />
</form>
<script>
document.getElementById('start').value = d;
document.getElementById('end').value = e;
</script>
</body>

</html>

最佳答案

evaluate()模板中的日期,您将需要使用 createTemplateFromFile() 。该错误是因为HtmlOutputcreateHtmlOutputFromFile() 返回的对象不能添加像 htmlB.d = d; 这样的属性。您可以使用 scriptlets 的 html 模板相反

function pickDates() {
var d = new Date();
var e = new Date();
d.setDate((d.getDate() - d.getDay() % 7) - 7);
e.setDate(e.getDate() - (e.getDay() + 1) % 7);
d = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
e = e.getFullYear() + '-' + (e.getMonth() + 1) + '-' + e.getDate();

// create a template
var htmlB = HtmlService.createTemplateFromFile('Pick Dates');
htmlB.d = d;
htmlB.e = e;

// evaluate() returns HtmlOuput object
var modal_html = htmlB.evaluate().setWidth(200).setHeight(200);

SpreadsheetApp.getUi().showModalDialog(modal_html, 'Select Dates');
}

Pick Dates.html - 添加打印脚本

...

<script>
document.getElementById('start').value = <?= d ?>;
document.getElementById('end').value = <?= e ?>;
</script>
</body>

关于javascript - 在html表单日期输入中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47320156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com