【问题标题】:How to use dynamic VAR to create dynamic function in Javascript如何使用动态 VAR 在 Javascript 中创建动态函数
【发布时间】:2021-03-15 21:35:10
【问题描述】:

抱歉,如果这以任何方式重复,我在这里看到了一些类似的问题,但我正在努力在这里应用任何解决方案来解决我的问题。完全披露,我是一名营销人员而不是开发人员,而且在涉及任何类型的编码时,我通常都非常重视它????

我正在使用 Hubspot 构建一个页面,该页面包含一个从 for 循环生成的数据表。对于每个表格行,我希望包含一个按钮,用户可以单击该按钮来触发一个 webhook,该 webhook 将更新该行中的一些数据。

<a onclick="postDataToWebhook()"...

我正在尝试找出如何动态地命名函数 - 以及 onclick 事件 - 也许使用数据行中的 ID。我正在使用该 ID {{row.id}} 使每行的 VAR 动态化,但是尽管摆弄了几个小时,但我无法找到一种方法来创建一个可以通过单击相应的事件调用随时调用的独特函数按钮。

函数如下:

function postDataToWebhook(){
  //get the values needed from the passed in json object
  var llid{{row.id}}="{{row.name}}";
  var accid{{row.id}}="{{row.account_id}}";
  //url to your webhook
  var webHookUrl="xxx";
  
  var oReq = new XMLHttpRequest();
  var myJSONStr = payload={
      "text": "Instructed landlord",
      "attachments":[
        {
          "landlord_association_id": llid{{row.id}},
          "account_id": accid{{row.id}},
        }
    ]

  };

  
//register method called after data has been sent method is executed
  oReq.addEventListener("load", reqListener);
  oReq.open("POST", webHookUrl,true);
  oReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  oReq.send(JSON.stringify(myJSONStr));
}

如果有人能指出正确的方向,我将不胜感激 - 谢谢!

【问题讨论】:

    标签: javascript hubspot


    【解决方案1】:

    您只需将行数据作为参数传递。您不需要在函数中创建唯一变量,因为它有自己的范围。

    <a onclick="postDataToWebhook(row)">
    
    function postDataToWebhook(row){
      let { name, account_id } = row;
      let webHookUrl="xxx";
      let oReq = new XMLHttpRequest();
      let myJSONStr = {
          "text": "Instructed landlord",
          "attachments":[
            {
              "landlord_association_id": name,
              account_id,
            }
        ]
    
      };
    
      
    //register method called after data has been sent method is executed
      oReq.addEventListener("load", reqListener);
      oReq.open("POST", webHookUrl,true);
      oReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      oReq.send(JSON.stringify(myJSONStr));
    }
    

    我只修改了可变部分,没有检查你函数的其他部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多