gpt4 book ai didi

Javascript 捕获未选择的单选按钮以及文本框和警报

转载 作者:行者123 更新时间:2023-11-28 04:46:57 25 4
gpt4 key购买 nike

我几乎是新来的,我是编程的初学者。我正在为我的团队创建一个基于 html/js 的模板,以便轻松整合数据并复制到剪贴板,以便我们可以轻松地将其粘贴到我们的主要工具中。

问题是它似乎无法正常工作(至少在办公室,在家里它确实可以工作)。当单选选项为空时,它不会提示,因此我求助于使用当前的函数来捕获任何空的文本框/文本区域。 (下面是示例代码)

    if (document.getElementById('INbrief').value == "") {
errCatch +="-Issue/Request \n";
valid = false;
}
if (document.getElementById('INdesc').value == "") {
errCatch +="-Issue/Request Description \n";
valid = false;
}
if (!valid) {
document.body.removeChild(dummyTxtArea);
alert(errCatch);
return valid;
} else {
document.body.removeChild(dummyTxtArea);
alert ("Data has been copied to Clipboard.");
}

上面的 if else 位于一个函数内,当通过“单击”提交按钮触发 Evenlistener 时会调用该函数。我尝试在函数内的 if else 上方插入“for”语句,但它不起作用,并且警报只会显示文本框/区域为空。预先感谢您的帮助

最佳答案

当您尝试获取未选中的单选框的值并将变量设置为该值时,您的代码在第 4 行和第 5 行抛出错误:

var selectedLOB = document.querySelector('input[name="INlob"]:checked').value; //LOB selected
var selectedSev = document.querySelector('input[name="INsev"]:checked').value; //Severity selected

为了解决此问题,您必须首先检查是否选择了 radio ,然后如果选择了则获取所选的值。您可以通过将第 4 行和第 5 行替换为以下内容来做到这一点:

var selectedLOB = document.querySelector('input[name="INlob"]:checked') ? document.querySelector('input[name="INlob"]:checked').value :false;
var selectedSev = document.querySelector('input[name="INsev"]:checked') ? document.querySelector('input[name="INsev"]:checked').value :false;

此代码将首先检查 radio 是否被选中,如果是,则将变量设置为值,如果不是,则将变量设置为 false。(a ? b : c 被称为 conditional or ternary operator,只是一个简短的 if() else() 语句)。此更改将阻止抛出错误。

您还需要进一步更新 radio 检查,以便:

if (selectedLOB == false) {
errCatch +="-Choose LOB \n";
valid = false;
}
if (selectedSev == false) {
errCatch +="-Choose Severity \n";
valid = false;
}

顺便说一句,您不必将取消选中的单选设置为 false,您可以将它们设置为“unchecked”或“empty”之类的字符串(如果这有助于使代码更具可读性)。请务必确保您的检查与您设置的内容相符。

关于Javascript 捕获未选择的单选按钮以及文本框和警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43280674/

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