簡體   English   中英

Chrome擴展程序表單輸入文本在提交時為空白

[英]Chrome extension form input text is blank on submit

我正在嘗試構建一個chrome擴展程序,該擴展程序從鏈接中下載一堆項目,主要邏輯在我的download.js文件中,並且我希望能夠指定要在其中將所有下載子文件夾捆綁在一起的下載子文件夾,除了輸入字段的值似乎為空。 到目前為止,這是我的代碼

popup.html

<!doctype html>
<html>
  <head>
    <title>Download CVs</title>
    <script src="popup.js"></script>
  </head>
  <body>
    <form id="folderForm">
      Subdir of downloads:
      <input type="text" id="folder">
      <input type="submit" id="download" value="Download CVs">
    </form>
  </body>
</html>

popup.js

function bundleItems() {
  chrome.tabs.executeScript({
    file: 'download.js'
  });
}

document.addEventListener('DOMContentLoaded', function() {
  var downloadButton = document.getElementById('download');
  downloadButton.addEventListener('click', bundleItems);
});

chrome.extension.onRequest.addListener(function(logs) {
  var folder = document.getElementById('folder').value;

  logs.map(function(log) {
    chrome.downloads.download({
      url: log.attachment.link,
      filename: folder + '/' + log.attachment.filename
    });
  });
});

我正在將信息從download.js發送到popup.js ,如果我嘗試通過下載方式下載信息,一切都會正常進行,因此我覺得發布download.js文件將毫無用處。 但是,如果我嘗試顯示folder變量,則該變量為空。 我搜索了許多關於同一問題的其他帖子,但這些解決方案似乎都不適合我。

您無法提交到Chrome擴展程序頁面。 在這種情況下,沒有Web服務器可以處理您的POST請求。 這樣做只是重新加載文檔(從表單中清除您的值)。

您需要通過為按鈕指定type="button"阻止提交。

我將在Submit按鈕上添加preventDefault()。

https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault

暫無
暫無

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

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