如何在JavaScript中调用if语句中的函数?
我无法理解函数showinput()是如何被预赋值的。 函数中有一些if语句。如果If语句为true,那么它们应该执行一个函数。我希望函数隐藏或显示easyAssignments div中的输入,具体取决于用户在numEAI中输入的内容。(示例:用户输入3,仅显示3个输入框)但是,当我单击enter按钮时,似乎什么也没有发生如何在JavaScript中调用if语句中的函数?,javascript,function,if-statement,Javascript,Function,If Statement,我无法理解函数showinput()是如何被预赋值的。 函数中有一些if语句。如果If语句为true,那么它们应该执行一个函数。我希望函数隐藏或显示easyAssignments div中的输入,具体取决于用户在numEAI中输入的内容。(示例:用户输入3,仅显示3个输入框)但是,当我单击enter按钮时,似乎什么也没有发生 <div id ="numEA"> <p>How many easy assignments do you have
<div id ="numEA">
<p>How many easy assignments do you have to do today?</p>
<input min="0" max="5" type="number" id="numEAI">
<button class="w3-button w3-red" onclick="showInputE()">Enter</button>
</div>
<div id="easyAssignments">
<p>What easy assignments do you have to do today?</p>
<input type="text" id="easyA1">
<input type="text" id="easyA2">
<input type="text" id="easyA3">
<input type="text" id="easyA4">
<input type="text" id="easyA5">
</div>
<script>
/* START of show input functions */
function onlyShowInput1(){
document.getElementById("easyA2").style.display = "none";
document.getElementById("easyA3").style.display = "none";
document.getElementById("easyA4").style.display = "none";
document.getElementById("easyA5").style.display = "none";
}
function onlyShowInput2(){
document.getElementById("easyA3").style.display = "none";
document.getElementById("easyA4").style.display = "none";
document.getElementById("easyA5").style.display = "none";
}
/* END of show input functions */
function showInputE(){
var numEAI = document.getElementById('numEAI');
if (numEAI === 1){
onlyShowInput1();
} else if (numEAI === 2){
onlyShowInput2();
}
}
</script>
你今天要做多少简单的作业
进入
你今天有什么简单的作业要做
/*开始显示输入功能*/
函数仅显示输入1(){
document.getElementById(“easyA2”).style.display=“无”;
document.getElementById(“easyA3”).style.display=“无”;
document.getElementById(“easyA4”).style.display=“无”;
document.getElementById(“easyA5”).style.display=“无”;
}
函数仅显示输入2(){
document.getElementById(“easyA3”).style.display=“无”;
document.getElementById(“easyA4”).style.display=“无”;
document.getElementById(“easyA5”).style.display=“无”;
}
/*显示输入函数结束*/
函数showinput(){
var numaei=document.getElementById('numaei');
如果(numEAI==1){
仅显示输入1();
}else if(numaei==2){
仅显示输入2();
}
}
将脚本更改为:
function showHide(n) {
let inputs = document.getElementById("easyAssignments").querySelectorAll("input");
let item = 0;
inputs.forEach(function(i) {
item++;
if (item <= n) {
i.style.display = "inline";
} else {
i.style.display = "none";
}
})
}
function showInputE(){
var numEAI = document.getElementById('numEAI').value;
showHide(numEAI);
}
函数显示隐藏(n){
让输入=document.getElementById(“easyaSignments”).querySelectorAll(“输入”);
设项=0;
输入。forEach(功能(i){
项目++;
if(item您当前正在将DOM元素与if
语句中的数字进行比较
为了测试元素中包含的值,您可以使用numaei.value
检索它。这将返回一个字符串,因此如果您要使用===
,它测试值和类型的相等性,您需要将它与字符串if(numaei.value==='1')进行比较
,否则只需使用=
测试值的相等性
/*开始显示输入功能*/
函数仅显示输入1(){
document.getElementById(“easyA2”).style.display=“无”;
document.getElementById(“easyA3”).style.display=“无”;
document.getElementById(“easyA4”).style.display=“无”;
document.getElementById(“easyA5”).style.display=“无”;
}
函数仅显示输入2(){
document.getElementById(“easyA3”).style.display=“无”;
document.getElementById(“easyA4”).style.display=“无”;
document.getElementById(“easyA5”).style.display=“无”;
}
/*显示输入函数结束*/
函数showinput(){
var numaei=document.getElementById('numaei');
如果(numEAI.value=='1'){
仅显示输入1();
}else if(numaei.value==2){
仅显示输入2();
}
}
你今天要做多少简单的作业
进入
你今天有什么简单的作业要做
您需要在条件中使用numaei.value
。if(numaei.value='1'){…
您应该使用==不===因为值可能不是相同的对象类型。虽然此代码有效,但它没有回答问题,这就是OP的条件不起作用的原因。最好在提供不相关的代码之前解释为什么它不起作用。我在前面的评论中做了解释-原因是===而不是==