Java脚本错误处理



我有一个函数,如果我要检查我的两个(或一个)输入,如果它们为空,我想在窗口中说打印警报,但是如果它们有vaules,我想运行 else ,但是在我的情况下,警报不会弹出,如果我想提交这两个备案数据,则可以推动它并在 else 中进行所有操作,但是整个浏览器都在重新加载。我试图添加dext.default(),但无法正常工作。或返回false

更新:我进行了一些更改,并知道何时弹出输入是空的警报,但是当我colses时,它仍在研究整个页面,如果执行其他所有浏览器,则同样的事情正在重新加载<</p>

 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" required />

工作完成,不需要JavaScript。

*,但是您应该在表单上使用submit事件,而不是按钮上的click事件。


专门针对您的问题,您希望警报触发,如果输入空白,但是您正在测试是否一个不是空白。使用==代替!=

好吧!

function pushData(e) {
let deviceVal = document.getElementById('device').value;
let powerVal = document.getElementById('power').value;
e.preventDefault()
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');

}

}

您可以在" if"语句之前登录到主机,并检查deviceval/powerVal值,或在浏览器中使用built-in debbuger

function pushData() {
   console.log(deviceVal)
   console.log(powerVal)
   if (deviceVal != '' || powerVal != '') {
      alert('aaa');
   } else {..}
}

最新更新