ant*_*nio 5 modal-dialog google-api google-docs-api google-apps-script google-spreadsheet-api
考虑以下 Google 应用脚本代码:
var ui = SpreadsheetApp.getUi();
var result = ui.prompt(
'How many days in advance you want to receive the event notification?',
'',
ui.ButtonSet.OK_CANCEL);
Run Code Online (Sandbox Code Playgroud)
我希望对话框在输入框中显示默认值。
其次,我们是否有输入/发送数据的键盘快捷键?以便用户可以点击Enter(或喜欢)接受默认值或value-Enter 发送他/她自己的值。
我没有找到解决这两个问题的方法,并且进行了很多搜索,因此最终执行了以下操作:
\n\n在问题(对话框文本)中说明默认值是什么,如果他们想要它,请将其留空,在代码中仅使用 OR 运算符。
\n\n如果您确实需要它,您可以使用showModalDialog(userInterface, title)提供 HTML,而不是 UI 提示。
\n\n例如(尚未测试)。
\n\n代码.gs
\n\nfunction showTab() {\n var html = HtmlService.createTemplateFromFile(\'modalDialog\').evaluate()\n .setSandboxMode(HtmlService.SandboxMode.IFRAME)\n .setTitle(\'Planejamento e controle\')\n .setWidth(300);\n SpreadsheetApp.getUi().showModalDialog(html, "Title") // Or DocumentApp or FormApp.\n}\n\nfunction onOen(){\n var ui = SpreadsheetApp.getUi();\n var fun = \'FuncoesOrcamentoV2.\'\n\n ui.createMenu(\'Carregar controles\').addItem(\'Sidebar P&C\', fun+\'showTab\')\n .addToUi();\n}\n\nfunction writeToSheet( servico, colNivel ){\n var ss = SpreadsheetApp.getActive(),\n rangeAt = ss.getActiveRange(),\n novoRange = ss.getActiveSheet().getRange(rangeAt.getRow() + 1, rangeAt.getColumn());\n ss.setActiveRange( novoRange );\n SpreadsheetApp.flush();\n\n if( servico != "" )\n rangeAt.setValue( servico );\n\n return "Suceffully inserted " + servico;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在 modalDialog.hmtl 中:
\n\n<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.js"></script>\n<input id="autocomplete" placeholder="Digite a composi\xc3\xa7\xc3\xa3o desejada e aperte enter" >\n<input type="button" value="Inserir" onclick="escrever()" /><br><br>\n<script>\nfunction escrever(){\n var compAtual = $( "#autocomplete" ).val();\n $( "#autocomplete" ).focus().val(\'\');\n google.script.run.withSuccessHandler( logga ).writeToSheet( compAtual, 3);\n}\n\nfunction logga( e ){\n console.log( e );\n}\n\n$("#autocomplete").keyup(function (e) {\n if (e.keyCode == 13) {\n escrever();\n }\n});\n</script>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4211 次 |
| 最近记录: |