GAS:提示用户输入默认值 [英] GAS: prompt for user input with a default value

本文介绍了GAS:提示用户输入默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑以下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);  

我希望对话框在输入框中显示默认值。
其次,我们有键盘快捷键来输入/发送数据吗?以便用户可以按Enter(或类似键)接受默认值,或value-Enter发送他/她自己的值。

推荐答案

我都找不到办法,也找了很多,最后做了以下几件事:

在问题(对话框文本)中说明默认值是什么,如果他们需要,则将其留空,代码中只使用了OR运算符。

如果您真的需要它,您可以使用showModalDialog(userInterface, title)提供和HTML,而不是UI提示符。

例如(尚未测试)。

Code.gs

function showTab() {
  var html = HtmlService.createTemplateFromFile('modalDialog').evaluate()
      .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .setTitle('Planejamento e controle')
      .setWidth(300);
  SpreadsheetApp.getUi().showModalDialog(html, "Title") // Or DocumentApp or FormApp.
}

function onOen(){
  var ui = SpreadsheetApp.getUi();
  var fun = 'FuncoesOrcamentoV2.'

  ui.createMenu('Carregar controles').addItem('Sidebar P&C', fun+'showTab')
  .addToUi();
}

function writeToSheet( servico, colNivel ){
  var ss = SpreadsheetApp.getActive(),
      rangeAt = ss.getActiveRange(),
      novoRange = ss.getActiveSheet().getRange(rangeAt.getRow() + 1, rangeAt.getColumn());
  ss.setActiveRange( novoRange );
  SpreadsheetApp.flush();

  if( servico != "" )
    rangeAt.setValue( servico );

  return "Suceffully inserted " + servico;
}

在modalDialog.hmtl中:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
<input id="autocomplete" placeholder="Digite a composição desejada e aperte enter" >
<input type="button" value="Inserir" onclick="escrever()" /><br><br>
<script>
function escrever(){
    var compAtual = $( "#autocomplete" ).val();
    $( "#autocomplete" ).focus().val('');
    google.script.run.withSuccessHandler( logga ).writeToSheet( compAtual, 3);
}

function logga( e ){
    console.log( e );
}

$("#autocomplete").keyup(function (e) {
    if (e.keyCode == 13) {
        escrever();
    }
});
</script>

这篇关于GAS:提示用户输入默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆