Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascripts中,当输入框为空时,如何设置var something=0_Javascript - Fatal编程技术网

在javascripts中,当输入框为空时,如何设置var something=0

在javascripts中,当输入框为空时,如何设置var something=0,javascript,Javascript,我试图在javascripts中创建一个if-else语句来检查输入框是否为空,然后var-something=0-else-var-something=70,但问题是当它为空时,它仍然使用var-something=70而不是0这是我的if-else语句:- if(parseFloat(document.getElementById('EL1l1a').value) && parseFloat(document.getElementById('EL1cl1a').value)

我试图在javascripts中创建一个if-else语句来检查输入框是否为空,然后var-something=0-else-var-something=70,但问题是当它为空时,它仍然使用var-something=70而不是0这是我的if-else语句:-

if(parseFloat(document.getElementById('EL1l1a').value) && parseFloat(document.getElementById('EL1cl1a').value) == "") {
    var s = 0;
} else {
    var s = 70;
}
if(parseFloat(document.getElementById('EL1l1b').value) && parseFloat(document.getElementById('EL1cl1b').value) == "") {
    var t = 0;
} else {
    var t = 70;
}
if(parseFloat(document.getElementById('EL1l2a').value) && parseFloat(document.getElementById('EL1cl2a').value) == "") {
    var u = 0;
} else {
    var u = 70;
}
if(parseFloat(document.getElementById('EL1l2b').value) && parseFloat(document.getElementById('EL1cl2b').value) == "") {
    var v = 0;
} else {
    var v = 70;
}
if(parseFloat(document.getElementById('EL1l3a').value) && parseFloat(document.getElementById('EL1cl3a').value) == "") {
    var w = 0;
} else {
    var w = 70;
}
if(parseFloat(document.getElementById('EL1l3b').value) && parseFloat(document.getElementById('EL1cl3b').value) == "") {
    var x = 0;
} else {
    var x = 70;
}
if(parseFloat(document.getElementById('EL1l4a').value) && parseFloat(document.getElementById('EL1cl4a').value) == "") {
    var y = 0;
} else {
    var y = 70;
}
if(parseFloat(document.getElementById('EL1l4b').value) && parseFloat(document.getElementById('EL1cl4b').value) == "") {
    var z = 0;
} else {
    var z = 70;
}
var EL1total2 = s + t + u + v + w + x + y + z
编辑:-这里是我试图实现的演示

为了更详细地解释,我想根据输入框设置一些变量,如果它是空的,那么变量应该是0如果输入框中有一些值,那么变量应该是0,这样我可以将该变量用于另一个过程,以找到整体gpa。演示将向您展示我试图实现的目标


注意:-第3级和第4级仍在开发中,因此请忽略它,因为您的情况是

if(parseFloat(document.getElementById('EL1l1a').value) && parseFloat(document.getElementById('EL1cl1a').value) == ""

也就是说,如果它有一个值,它是空的。这永远不会是真的…

您正在对空白值(即,当字段为空时)调用
parseFloat
,并将其与空白字符串进行比较,这将永远不会计算为真

实际上,当您试图解析空白字符串时,您将得到
NaN

警报(parseFloat(“”)
如果输入框中有一些值,则变量应为 设置为70,如果未输入任何内容,则应设置为0

如果正确解释问题,预期逻辑,可以使用
Array.prototype.map()
Array.prototype.reduce()

var inputs=document.querySelectorAll(“输入”);
var按钮=document.querySelector(“按钮”);
button.onclick=函数(){
var res=[].map.call(输入、函数(a、索引){
返回编号(a.value)>0?70:0
}).减少(功能a、b){
返回编号(a)+编号(b)
})
console.log(res)
}



单击
在这个特定的例子中,您可以很容易地使用一个很好的速记:
var a=document.getElementById('myinput').value | | 70
(如果第一件事是falsy,就使用第二件!)
parseFloat(“”
返回
NaN
,即
false
。当字段为空时,条件始终为
false
。是否可以包含
html
?好的,我刚刚添加了,您可以在空闲时检查@guest271314“如果为空,则变量应为0如果输入框中有一些值,则变量应为0”?如果某个变量值应设置为
70
,或输入值?
“EL1l1a”!==“EL1cl1a”
oh。我以为他们是一样的。Pffft。正如前面提到的,这是一个很好的速记理由。我也错过了这一点,因为start-OP的字段有一些可怕的命名约定
1
下一个小写的
l
在字段命名中应该是死罪,直到我不知道它是如何工作的,就像我是javascript新手一样@guest271314@AlAmri单击
按钮,在
.map()`如果输入值大于
0
,则返回
70
,否则返回
0
;在
.reduce()
添加从
.map()
返回的每个输入值,返回sum
res
,但这将检查页面中所有输入的值,包括每个学期的GPA和每个级别的GPA计算结果,对吗?我不想在@guest271314中添加什么是应该检查的输入元素选择器?我修改了代码并获取了我需要的每个输入id,它正在按我想要的方式工作感谢@guest271314的帮助