【问题标题】:How to get the selected value of a selectbox and pass it to an action?如何获取选择框的选定值并将其传递给操作?
【发布时间】:2018-05-22 00:27:02
【问题描述】:

我需要将选择框的值传递给它的小部件的处理函数

var payment = CardService.newSelectionInput()
  .setType(CardService.SelectionInputType.DROPDOWN)
  .setTitle("payment mode")
  .setFieldName("payment_mode")
  .addItem("Debit card", "contact", false)
  .addItem("Net banking", "lead", true)
  .setOnChangeAction(CardService.newAction().setFunctionName("onModeChange"));
section.addWidget(payment);

我期待类似setFunctionName("onModeChange").setParams(payment.value)

【问题讨论】:

    标签: google-apps-script gmail-addons


    【解决方案1】:

    我认为您的脚本几乎是正确的。稍微修改一下就可以达到你想要的效果。在您的情况下,您想在函数onModeChange 中检索contactlead。如果我的理解是正确的,那么这个修改呢?

    在您的脚本中,您可以按如下方式检索选定的值。当用户选择时,选择的值会立即发送到onModeChange。请在您的脚本中添加此函数。

    function onModeChange(e) {
        console.log(e.formInput.payment_mode)
    }
    

    如果用户选择Debit cardNet banking,您可以分别在e.formInput.payment_mode检索contactlead

    如果要在用户选择时给出附加值,请修改

    .setOnChangeAction(CardService.newAction().setFunctionName("onModeChange"))
    
    至 :
    .setOnChangeAction(CardService.newAction().setFunctionName("onModeChange").setParameters({key1: "value1"}))
    

    通过此修改,在onModeChange(e),您可以通过e.parameters.key1检索添加的值。

    注意:

    • 此示例假设您的脚本都可以工作,并且您可以在 gmail 插件中看到选择框。如果您的脚本还没有运行,请告诉我。

    参考资料:

    如果我误解了你的问题,我很抱歉。

    【讨论】:

    • 像魅力一样工作。我想知道为什么文档没有解释这些小事。
    • @Hari Balaji 我想是的。当我使用它时,我无法找到这样的文件。所以我使用Logger.log(e)console.log(e) 检查了对象。如果对用户有用,我想总结并发布这些信息。
    • 你也可以看看这个stackoverflow.com/questions/50460875/… 吗?
    • @Hari Balaji 我刚才看到了。但我不明白你想做什么。我很抱歉我的英语不好。
    • 我基本上是想在我的应用程序中有一个登录表单。但是,我们这里没有 。所以我试图实现这个stackoverflow.com/questions/47904710/…。我被困在这里。该答案中提到的“用户回调”是什么。那是关键字还是指方法?你能帮我解决这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 2021-09-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    相关资源
    最近更新 更多