【问题标题】:Electron.js Function is not definedElectron.js 函数未定义
【发布时间】:2022-12-11 00:16:46
【问题描述】:

我正在使用 JavaScript 生成动态表,每行的最后一列都有一个“getCutomerEmail”按钮。现在我想在单击同一行上的“getCutomerEmail”按钮时提取电子邮件值。

我在 Preload.js 上声明了两个函数来提取电子邮件并将其发送到 main.js 以进行进一步处理:

function  getEmail (el)  {
  const tr = el.closest("tr");
  const tds = tr.getElementsByClassName('email');
  const emailAddress = tds[0].innerHTML;
  console.log(emailAddress);
  ipcRenderer.send("ClickRunCH", emailAddress);

}

window.addEventListener('DOMContentLoaded', () => {
function renderCustomers(tasks) {
customerList.innerHTML += `
    <tr >
        <th >Name</th>
        <th >Email</th>
        <th >Contacts</th>
        <th >Address</th>
        <th >Country</th>
        <th >Action</th>
    </tr>`;    
tasks.forEach((t) => {
  customerList.innerHTML += `
    <tr class=" animated bounceInUp">
        <td >${t.Name}</td>
        <td >${t.Email}</td>
        <td >${t.Contacts}</td>
        <td >${t.Address}</td>
        <td >${t.Country}</td>
        <td ><button class="email" onclick="getEmail(this)">
            Get Customer Email
        </button></td>
    </tr>`;
});

})

但我收到此错误消息:

ReferenceError: getEmail is not defined
    at HTMLButtonElement.onclick

非常感谢任何帮助,感谢阅读

【问题讨论】:

    标签: javascript html html-table electron


    【解决方案1】:

    如果您收到一条错误消息,指出函数未定义,则意味着该函数尚未在您的代码中声明或创建。当您尝试调用或使用不存在的函数时,通常会发生此错误。要修复此错误,您需要先在代码中定义该函数,然后再尝试调用它。这可以通过声明函数及其参数以及提供函数执行所需的代码来完成。定义函数后,您应该可以调用它而不会遇到错误消息。

    错误消息表明未定义“getEmail”函数。发生这种情况的原因有多种,例如函数未在与尝试调用它的代码相同的范围内声明,或者函数根本未定义。

    要修复此错误,您可以尝试以下步骤:

    确保“getEmail”函数声明在与尝试调用它的代码相同的范围内。在您的代码中,“getEmail”函数是在“renderCustomers”函数中定义的,因此它只能在该函数中使用。如果要从“renderCustomers”函数外部调用“getEmail”函数,则需要将函数声明移到函数外部,使其与尝试调用它的代码处于同一范围内。

    确保在尝试调用它的代码之前定义了“getEmail”函数。在您的代码中,“getEmail”函数是在尝试调用它的代码之后定义的,因此代码将尝试在它被定义之前调用该函数。要解决此问题,您可以将函数声明移到尝试调用它的代码上方,以便在代码尝试调用它之前定义该函数。

    检查函数名称的拼写和大小写。在您的代码中,“getEmail”函数在函数名称中使用小写“g”声明,但试图调用它的代码在函数名称中使用大写“G”。这将导致错误,因为 JavaScript 区分大小写,如果函数名称的大小写不完全匹配,将无法识别该函数。要解决此问题,您可以在尝试调用它的代码中更改函数名称的拼写以匹配函数声明的拼写,或者您可以更改函数声明的拼写以匹配调用它的代码的拼写正在尝试调用它。

    通过执行这些步骤,您应该能够修复“ReferenceError:getEmail 未定义”错误并在您的代码中成功调用“getEmail”函数。

    【讨论】:

      猜你喜欢
      • 2018-10-21
      • 2019-08-01
      • 1970-01-01
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 2014-06-19
      • 1970-01-01
      相关资源
      最近更新 更多