0

如此处所述:

https://developers.google.com/apps-script/html_service#GoogleScriptAPI

我在我的 google app scripts html 界面模板中使用了一个小表单来允许提交数据:

<form id='myForm'><input type='button' onclick='google.script.run.processForm(this.parentNode)'></form>

这会在我的脚本中触发一个函数,该函数会像这样更新电子表格单元格:

function processForm(params) {
  var ss = SpreadsheetApp.openById(XXXXXXXXX);
  var email_sheet = ss.getSheetByName('Week '+(parseInt(params['week'],10)+1)+' Assignments');
  var range = colName(parseInt(params['assignment'],10)+1) + (parseInt(params['match'],10)+1);
  var existing_val = email_sheet.getRange(range).getValue()
  email_sheet.getRange(range).setValue(existing_val+ params['submission']);
}

那里有很多特定于我的更大系统的东西,但是这样做是允许我班的学生提交作业信息,这些信息被转储到电子表格中与他们的谷歌登录相对应的位置,当他们刷新页面时, html 界面更新以指示收到提交。界面如下所示:

htmlinstance接口使用google app脚本表单提交

刚刚让它工作,我正在弹出香槟,因为它将极大地简化管理学生提交的过程,但目前如果用户点击提交按钮时界面会更加直观,并且会立即更新删除表单,并从红十字切换到绿色对勾。目前,用户必须重新加载整个页面。

通过阅读文档:

https://developers.google.com/apps-script/html_service#Caja

似乎 jqueryUI 可能是做这样的事情的方法,但我不清楚 jqueryUI 是否能很好地与谷歌应用程序脚本表单提交配合使用。我将详细研究 jqueryUI,但我想知道是否有人知道这两者是否会混合使用。

通过搜索主题,我看到 JQueryUI 不会与谷歌应用脚​​本 UIInstance 混合

如何混合使用 jQuery 和 UiInstance 来生成 GUI

但是我正在使用 htmlinstance,所以 jquery 应该没问题吧?还是我完全找错了树?

提前谢谢了

ps 我真的需要弄清楚如何更好地设置提交按钮的样式,而且如果您在文本文件中点击返回,似乎会发生完​​整的表单提交并给出此错误“此网页不可用服务器位于 9f9e682e-25ca -4eae-b4f9-6cac8db35390.foo.bar 找不到,因为 DNS 查找失败。DNS 是将网站名称转换为其 Internet 地址的网络服务。” - 我已经在网上搜索了这个错误,但并不高兴 - 希望 JQueryUI 可以再次帮助我解决这个问题,即使对 Caja 进行了清理......我只是想就我是否应该使用我目前得到的界面减少损失获得意见...

4

1 回答 1

1

您可以正常使用 jQuery 和 jQueryUI HtmlService,它不会干扰脚本的表单提交部分。页面、表单或其外观不会影响其值的处理。

但是,根据您的描述,您真正需要进行“图标切换”和“隐藏输入和按钮”的只是一些好的旧 javascript。jQuery 可以使它更容易(更少的代码),但如果你不习惯纯 javascript,它可能只会给你更多的设置麻烦。这同样适用于 jQueryUI,它可以更轻松地构建漂亮的界面,但是您的界面似乎有些简单,而且 jQueryUI 可能有点矫枉过正。

希望这可以帮助。

于 2012-10-26T19:38:35.583 回答