gpt4 book ai didi

javascript - 如何获取表单提交的值 popup.html chrome 扩展

转载 作者:行者123 更新时间:2023-11-29 10:37:26 30 4
gpt4 key购买 nike

我一直在尝试获取表单中用户输入的值,以传递给 chrome 扩展中的 javascript 函数。问题是我不知道如何获取用户输入。
这是我的 manifest.json 文件的一部分:

,"browser_action": {
"default_icon": "./assets/icon16.png",
"default_popup": "popup.html"

},

popup.html 即我要提交的表单:

...
<script src = "popup.js"></script>

</head>
<body>
<p>Enter here</p>

<div class="ui-widget">
<form id = "form" >
<input id = "shows"> </input>
<input type = "submit" id = "submitButton">
</form>

</div>
<br>
<br>
</body>

我知道我不能在 chrome 扩展中做内联 javascript,所以我使用 addEventListener 来监听表单提交。它当前正在调用函数 handleClick() 但我需要传入输入值,但我不确定要将什么作为参数。这是我的 popup.js 文件:

$(function() {
console.log("console logging works");


document.getElementById("form").addEventListener("submit", handleClick());


function handleClick(val) {
console.log("calling handleClick"); //printing
console.log(val); //prints undefined

chrome.runtime.sendMessage({
from: "popup",
subject: val
});
}

});

我也试过这个也没用:

document.getElementById("form").addEventListener("submit", handleClick(), false);


function handleClick() {

var show = form.elements[0].value;
console.log(show); //prints blank
chrome.runtime.sendMessage({
from: "popup",
subject: show
});
}

最佳答案

当你这样做时:
.addEventListener("提交", handleClick(), false)
通过在 handleClick 之后放置括号,您将调用该函数并将其结果传递给 addEventListener(在本例中为 undefined,因为您的函数没有 return 语句)。

你想要做的是直接将函数传递给 addEventListener,然后它将为你调用一个 event 对象(这称为 回调):
.addEventListener("提交", handleClick, false)

关于javascript - 如何获取表单提交的值 popup.html chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34485698/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com