簡體   English   中英

將帶有選中復選框 ID 的消息從 popup.js 發送到 background.js

[英]Send message with ID of checked checkbox from popup.js to background.js

我想將選中復選框的 ID 從 popup.js 發送到 background.js。 我按以下方式嘗試過,但失敗了:

彈出窗口.html

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

彈出窗口.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;

});

背景.js

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

檢查復選框后控制台仍然為空。 我該如何正確處理?

終於走上了這條路:

popup.js:

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

背景.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 });
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM