J.S没有执行所有命令

J.S not executing all commands

本文关键字:命令 执行      更新时间:2023-09-26

在下面的代码中,每个"Id"都连接到一个复选框,所以当我选中它时,会打印一个单词,如果我取消选中它,这个单词就会消失。

function DrawRequest()
{
    if(document.getElementById("name").checked == true)
        document.getElementById("drawrequest").innerHTML="checked";
    else
        document.getElementById("drawrequest").innerHTML="";
    if(document.getElementById("surname").checked == true)
        document.getElementById("drawrequest").innerHTML="checked";
    else
        document.getElementById("drawrequest").innerHTML="";
    if(document.getElementById("age").checked == true)
        document.getElementById("drawrequest").innerHTML="checked";
    else
        document.getElementById("drawrequest").innerHTML="";
}

或者至少这是我尝试代码时应该发生的事情。真正发生的事情是,当我选中id为"name"的复选框时,没有打印任何内容。id为"姓氏"的复选框也发生了这种情况。但id为"年龄"的最后一个复选框工作正常!

还有一个问题:如果勾选了这三个复选框,我会打印三个单词吗?非常感谢:)

无论是否选中,您都会为每个框更新innerHTML。每个ifelse都将覆盖以前的语句集,使以前的操作变得不相关。

您可能想要:

  • 在函数开始时将innerHTML设置为空白,去掉elses,如果选中了一个框(如果未选中,则不执行任何操作),如果您希望在选中任何框的情况下总共执行一个"已选中",则仅将HTML设置为"已检查"
  • 附加到HTML而不是设置它,如果你想为每个框"选中";或
  • 有一个单独的元素来反映每个框的检查情况