gpt4 book ai didi

google-apps-script - 在 HTMLService/Google Apps 脚本中使用日期选择器返回值

转载 作者:行者123 更新时间:2023-12-01 23:57:55 24 4
gpt4 key购买 nike

我正在 try catch 将在基于文档容器的 GAS 中使用的日期范围。我已经成功地显示了一个对话框,其中使用 Serge 在这篇文章中的出色示例显示了两个 jquery datepicker 对象: Date picker in HTMLService / Google Apps Script。。...但是,我如何从 html 逻辑将两个日期值返回到我的 GAS 代码?

提前致谢!

function onOpen() {
var ui = DocumentApp.getUi();
ui.createMenu('Create Calendar')
.addItem('Provide Date Range', 'showDialog')
.addToUi();
}

function showDialog() {
var html = HtmlService.createHtmlOutputFromFile('dateDialog')
.setWidth(500)
.setHeight(400);
DocumentApp.getUi()
.showModalDialog(html, 'Please provide a Date Range');
Logger.log("HTML return = %s", html.getContent()); // What does html contain?
}

==================== dateDialog.html ======================

<div class="demo" >
<style type="text/css"> .demo { margin: 30px ; color : #AAA ; font-family : arial sans-serif ;font-size : 10pt }
p { color : red ; font-size : 11pt }
</style>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/themes/cupertino/jquery-ui.css">

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>

<p>Please select a date below :</p>

<p> Start Date : <input type="text" name="StartDate" id="startdatepicker" /> </p>
<p> End Date : <input type="text" name="EndDate" id="enddatepicker" /> </p>
<script>
$( "#startdatepicker" ).datepicker({
showWeek: true,
firstDay: 0,
});
</script>
<script>
$( "#enddatepicker" ).datepicker({
showWeek: true,
firstDay: 0,
});
</script>
<input type="button" value="Close" onclick="google.script.host.close()" />
</div>

最佳答案

准备一个服务器端函数来接收您的输入。这一个只记录它:

function submitDates(startDate,endDate) {
Logger.log(JSON.stringify(arguments));
// To send error messages, throw an exception.
// e.g. if (invalid) throw new error("Invalid date")
}

更改 html 中的按钮处理程序。不要关闭对话框,而是收集输入数据并使用 google.script.run 将其传递给服务器函数。将处理程序附加到运行者上;例如,成功处理程序将关闭窗口。故障处理程序将显示服务器端错误。

<input type="button" value="Create" onclick="submitDates()" />

将此脚本添加到 html 底部:

<script>
// Pass input dates to server-side submitDates()
function submitDates() {
var startDate = $("#startdatepicker").val();
var endDate = $("#enddatepicker").val();

google.script.run
.withSuccessHandler(
// Dates delivered, close dialog
function() {
google.script.host.close();
})
// Display failure messages
.withFailureHandler(
function() {
var div = $('<div id="error" class="error">' + msg + '</div>');
$(element).after($("#demo"));
})
.submitDates(startDate,endDate);
}

</script>

关于google-apps-script - 在 HTMLService/Google Apps 脚本中使用日期选择器返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24841089/

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