我有一个功能,可以检查我的两个(或一个)输入字段是否为空,我想在窗口中打印警报,但如果它们有值,我想运行else,但在我的案例警报没有弹出,如果我想提交这两个带有数据的文件,可以推送它并在 else 中执行所有操作,但整个浏览器正在重新加载。我试图添加 Prevent.Default() 但不起作用。或者返回 false
更新:我做了一些更改,知道输入为空时会弹出警报,但是当我关闭它时,它仍然会重新加载整个页面,如果执行 else ,所有浏览器都会重新加载,也会发生同样的情况
let pushBtn = document.getElementById('push-btn');
pushBtn.addEventListener('click', pushData);
function pushData() {
let deviceVal = document.getElementById('device').value;
let powerVal = document.getElementById('power').value;
if (deviceVal != '' || powerVal != '') {
let list = document.getElementById('list-group')
let button = document.createElement('button');
let ul = document.createElement('ul');
let liFirst = document.createElement('li');
let liSecond = document.createElement('li');
let liThird = document.createElement('li');
button.classList.add("list-group-item");
ul.classList.add("desc");
liFirst.classList.add("t-desc");
liSecond.classList.add("t-desc2");
liThird.classList.add("t-desc3");
liFirst.textContent = deviceVal;
liSecond.textContent = powerVal;
liThird.innerHTML = `<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>`
modal.style.display = 'none';
ul.append(liFirst);
ul.append(liSecond);
ul.append(liThird);
button.append(ul);
list.prepend(button);
} else {
alert('aaa');
return false
}
}
最佳答案
<input type="text" name="device" <b><i>required</i></b> />
工作完成,不需要 JavaScript。
* 但是您应该在表单上使用 submit
事件,而不是在按钮上使用 click
事件。
特别针对您的问题,您希望在任一输入为空白时触发警报,但您正在测试任一输入是否为空。使用 ==
而不是 !=
。
关于javascript - JavaScript 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46072821/