【问题标题】:Javascript - If/Else If resultJavascript - If/Else If 结果
【发布时间】:2016-07-03 14:49:27
【问题描述】:

我有这些积木:

function generateEmail(){
if 
(document.getElementById('emailOpt1').checked = "true") {
document.getElementById('generatedEmail').innerHTML = emailOpt1.value
}
else if
(document.getElementById('emailOpt2').checked = "true") {
document.getElementById('generatedEmail').innerHTML = emailOpt2.value
}
else if
(document.getElementById('emailOpt3').checked = "true") {
document.getElementById('generatedEmail').innerHTML = emailOpt3.value
}
else if
(document.getElementById('emailOpt4').checked = "true") {
document.getElementById('generatedEmail').innerHTML = emailOpt4.value
}
} 

还有这个:

<div class="radioEmailType" id="emailClass">  
<input type="radio" id="emailOpt1" name=emailType value="email_c1">
 <label for="emailOpt1">class-one</label>
<input type="radio" id="emailOpt2" name=emailType value="email_c2">
 <label for="emailOpt2">class-two</label>
<input type="radio" id="emailOpt3" name=emailType value="email_c3">
 <label for="emailOpt3">class-three</label>
<input type="radio" id="emailOpt4" name=emailType value="email_c4">
 <label for="emailOpt4">class-four</label>
</div>
<button type="button" class="gButton" onclick=generateEmail()">GENERATE EMAIL</button>
<textarea id=generatedEmail></textarea></td></tr>

当我在选择一个“收音机”后点击“生成电子邮件”按钮时,代码似乎将选择恢复为第一个选项,因为我继续在 textarea 上获得第一个选项。

我们将不胜感激任何想法和可能更简单的方法。

注意:我不得不走这条路,因为用户希望收音机是按钮。

【问题讨论】:

  • 与 == 比较并使用 true/false 等关键字
  • 比较条件中的事物时,使用==。前任。 else if (document.getElementById('emailOpt4').checked == true) { 布尔值不使用引号,字符串使用引号。 true, false 它们是布尔值。
  • ~在代码中发生了很大变化,这是我检查的事情之一。当我在条件上使用 == 时,它似乎没有在 textarea 上输出值,它只在它是单个 '=' 时才输出
  • ~更改为 == 和不带引号的布尔值...
  • ~啊!我花了 30 分钟,5 分钟来构建这个问题/帖子,2 分钟按照你的指示来解决问题......谢谢大家!

标签: javascript radio-group


【解决方案1】:

我修好了:

改变:

.checked = "true"

到:

.checked == true

最终代码:

<html>
    <head>
    </head>
    <body>
     <div class="radioEmailType" id="emailClass">  
    <input type="radio" id="emailOpt1" name=emailType value="email_c1">
     <label for="emailOpt1">class-one</label>
    <input type="radio" id="emailOpt2" name=emailType value="email_c2">
     <label for="emailOpt2">class-two</label>
    <input type="radio" id="emailOpt3" name=emailType value="email_c3">
     <label for="emailOpt3">class-three</label>
    <input type="radio" id="emailOpt4" name=emailType value="email_c4">
     <label for="emailOpt4">class-four</label>
    </div>
    <button type="button" class="gButton" onclick="generateEmail()">GENERATE EMAIL</button>
    <textarea id=generatedEmail></textarea>
    <script>
        function generateEmail(){
            if (document.getElementById('emailOpt1').checked == true) {
            document.getElementById('generatedEmail').innerHTML = emailOpt1.value
            }
            else if (document.getElementById('emailOpt2').checked == true) {
            document.getElementById('generatedEmail').innerHTML = emailOpt2.value
            }
            else if (document.getElementById('emailOpt3').checked == true) {
            document.getElementById('generatedEmail').innerHTML = emailOpt3.value
            }
            else if (document.getElementById('emailOpt4').checked == true) {
            document.getElementById('generatedEmail').innerHTML = emailOpt4.value
            }
        }
    </script>
    </body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-25
    • 2022-08-18
    • 2011-02-24
    • 2012-05-11
    • 1970-01-01
    • 2014-05-24
    • 2021-09-11
    相关资源
    最近更新 更多