输入字段清除后消失

时间:2020-01-18 10:29:41

标签: javascript html input electron

在我的电子应用程序中,我具有在按下按钮时清除输入字段的功能,但是使用它之后,我无法再单击并键入输入内容。但是,如果我打开检查器窗口,它们将再次起作用。

为什么会发生这种情况以及如何解决?

电子应用程序的main.js:

const { app, BrowserWindow, Menu } = require('electron');
let win;

function createWindow() {
    win = new BrowserWindow();
    win.loadFile('window_main/index.html');
}

app.on('ready', createWindow);

index.html

<body>
    <input type="text" id="testinput" />
    <button id="clear">Clear</button>
    <script src="index.js" type="text/javascript"></script>
</body>

index.js中的JS有点问题:

document.getElementById('clear').addEventListener("click", clear);

function clear() {
    if (confirm("Clear all inputs?")) {
        document.querySelectorAll('input').forEach((input) => {
            input.value = '';
        })
    }
}

2 个答案:

答案 0 :(得分:0)

我在删除脚本后重现了您的代码,该脚本没有解释您为什么使用它,无论如何,下面是使用jQuery的代码可以解决问题,至少应该将您带到正确的位置..如果仍然无法正常工作与您一起发布更好的代码说明,以获得更好的帮助... 如果可以解决您的问题,则将其标记为已回答。...

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <title>Document</title>
</head>
<body>
        <input type="text" id="testinput" />
        <button id="clear">Clear</button>
<script>
$(document).ready(()=>{
    document.getElementById('clear').addEventListener("click", clear);
})
function clear() {
    if (confirm("Clear all inputs?")) {
        document.querySelectorAll('input').forEach((input) => {
            $(input).val('');
        })
    }
}
</script>
</body>
</html>

答案 1 :(得分:0)

问题不是清除输入,而是showing the confirm box。我改用了以下代码段:

dialog.showMessageBoxSync(
    title: "Clear inputs",
    message: "Clear all input boxes?",
    type: "warning",
    buttons: ["Cancel", "Ok"]
})

现在一切正常。