【问题标题】:Electron - get form dataElectron - 获取表单数据
【发布时间】:2023-11-30 13:59:01
【问题描述】:

我是 Electron 新手,想知道如何将数据从表单获取到 main.js(启动 Electron 的主文件)。我的 index.html 文件中的 sn-p 如下:

    <form id="creds">
       <h3 class="username">Username</h3>
        <input id="username" class="form-control text-input" placeholder="Username">
        <input type="submit" value="Submit">
    </form>

我阅读了有关 ipcMain 和 ipcRenderer 的信息,但在点击提交按钮后,我无法弄清楚使用什么代码从 index.html 中获取数据

【问题讨论】:

    标签: javascript html node.js forms electron


    【解决方案1】:

    我最终使用了 ipcMain 和 ipcRenderer 方法。在 index.html 中

    <script>
       document.querySelector('#submit').addEventListener('click', function() {
    
        let username = document.getElementById("username").value;
    
        const {ipcRenderer} = require('electron')
    
        // send username to main.js 
        ipcRenderer.send('asynchronous-message', username )
    
        // receive message from main.js
        ipcRenderer.on('asynchronous-reply', (event, arg) => {
          console.log(arg) 
    
        })
    
        });
    </script>

    在 main.js 中

    const {ipcMain} = require('electron')
    
    // receive message from index.html 
    ipcMain.on('asynchronous-message', (event, arg) => {
      console.log( arg );
      
      // send message to index.html
      event.sender.send('asynchronous-reply', 'hello' );
      });

    【讨论】: