gpt4 book ai didi

javascript - 检查表单中的值 (Javascript)

转载 作者:行者123 更新时间:2023-11-30 09:31:43 24 4
gpt4 key购买 nike

我在一个表单中有五个变量,为简单起见,我将它们命名为 A、B、C、D 和 E。为了提交表格(A 或(B 或 C))和(D 或 E)必须有一个值(我希望它是清楚的:P)。我试过

if ((A == "" || (B == "" || C == "")) && (D == "" || E == "")) {
alert ("Error!");
} else {
form.submit();
}

但并非在所有情况下都有效。例如,如果 A、B 和 C 有值,即使 D 或 E 都没有值,也会提交表单。感谢您的帮助!

最佳答案

如果您拥有所有字符串,您可以反转条件并使用逻辑 AND 和一个 OR 检查所有字符串。

var a = '', b = '', c = '', d = '', e = '';

if (a && b && c || d && e) {
console.log('form.submit();');
} else {
console.log('Error!');
}

Why it works:

given

(A == "" || (B == "" || C == "")) && (D == "" || E == "")

simplified A == "" is equivalent to !A

(A == "" || B == "" || C == "") && (D == "" || E == "")

(!A || !B || !C) && (!D || !E)

De Morgan's laws !(a && b) = !a || !b or !(a || b) = !a && !b

 (!A || !B || !C) && (!D || !E)

!(A && B && C) && !(D && E)

!((A && B && C) || (D && E))

operator precedence

!(A && B && C || D && E)

now switch/negate then <-> else

A && B && C || D && E

关于javascript - 检查表单中的值 (Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45824656/

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