【问题标题】:Send message with ID of checked checkbox from popup.js to background.js将带有选中复选框 ID 的消息从 popup.js 发送到 background.js
【发布时间】:2020-03-28 16:07:36
【问题描述】:

我想将选中复选框的 ID 从 popup.js 发送到 background.js。我尝试了以下方式,但失败了:

popup.html

<form id="cbx">
<label for="cb1">G</label>
<input name="cb1" type="checkbox">
<input type="submit" value="Submit">

popup.js

document.getElementById('cbx').addEventListener(

    'submit', function checkForm(event) {

    event.preventDefault();

    //Define the form element
    var form = document.getElementById("cbx");

    if (form.cb1.checked) {

chrome.runtime.sendMessage({greeting: "cb1"});

    }

    return true;

});

background.js

chrome.extension.onMessage.addListener(function (request, sender, sendResponseParam) {
if( request.greeting === "cb1" ){
    console.log("cb1"); 
}
})

选中复选框后,控制台仍然为空。我该如何正确处理?

【问题讨论】:

    标签: javascript forms checkbox google-chrome-extension


    【解决方案1】:

    终于走上了这条路:

    popup.js:

        if (form.cb1.checked) {
    chrome.runtime.sendMessage({greeting: "cb1"}, function(response) {
    return true;
    });
        }
    

    background.js

    chrome.runtime.onMessage.addListener(
      function(request, sender, sendResponse) {
    
        if (request.greeting == "cb1"){
          sendResponse();
          console.log(request.greeting);
          var action_url = "http://www.google.com/";
        chrome.tabs.create({ url: action_url });
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2022-01-21
      • 1970-01-01
      • 2023-01-16
      • 2017-05-20
      • 2015-04-19
      相关资源
      最近更新 更多