gpt4 book ai didi

javascript - 提交表单前检查值

转载 作者:行者123 更新时间:2023-12-03 11:36:17 24 4
gpt4 key购买 nike

在提交表单之前,我想检查输入中的值。

这里我检查一个值是否不等于 0.5 或 1。或者不是空字符串。

form.onsubmit = function(e) {
var ftimes = document.getElementsByClassName("add_timebox");
var fflag = 0;
for(i=0;i< ftimes.length;i++) {
var value1 = ftimes[i].value;
console.log(value1);
if ( value1 !==.5 ||value1 !== 1 || (!IsStringEmpty(value1)) ){

fflag = 1;
console.log('inside');
}

}
if(fflag==1) {
alert('enter again' );
return false;
}

我对 IF 语句进行了许多更改,以使其正确。但即使我知道不应该,它仍然在循环中。

例如,当我提交表单时,我有一个输入值等于 0.22那么它应该只给我 1 个“内部”,但不断重复:

里面.22(空字符串)里面....

最佳答案

您没有展示如何实现 IsStringEmpty 方法,但如果您使用类似的方法,则任何数字也是非空字符串,因此您的 if 语句将始终运行。

function IsStringEmpty(str) {
return (!str || 0 === str.length);
}

因此,您需要将 OR 更改为 AND,否则它将永远不会检查数字条件。

您可以检查该值是否不是空字符串并且不同于 0.5 和 1。那么您的条件应该是这样的。

if (!IsStringEmpty(value1) && value1 !== 0.5 && value1 !== 1)

但是,您是从表单中获取值,因此它将是一个字符串。因此,您正在比较字符串并且需要这个。

if (!IsStringEmpty(value1) && value1 !== ".5" && value1 !== "1")

尽管您可能想要比较 float ,在这种情况下您需要这个。

if (!IsStringEmpty(value1) && parseFloat(value1) !== .5 && parseFloat(value1) !== 1))

所以基本上,当您在所有表单字段中输入 1、.5 或空字符串时,您会跳过内部 block 。但如果您在任何字段中有任何其他值,则该标志将设置为 1。如果这不是您的意思,请更新您的问题以使其更加具体。

请检查 Plunker here .

希望这有帮助。

关于javascript - 提交表单前检查值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26497146/

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