2016-07-03 48 views
-1

我有這些塊:使用Javascript - if/else語句如果結果

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上獲得第一個選項。

任何想法和一個可能更簡單的方法來做到這一點將不勝感激。

note:我不得不走這條路線,因爲用戶希望無線電是按鈕。

+5

與==比較並使用關鍵字,如true/false – Li357

+0

在條件中比較事物時,使用'=='。恩。 'else else (document.getElementById('emailOpt4')。checked == true){'布爾值不使用引號,字符串使用引號。真,假他們是布爾。 – zer00ne

+0

〜在代碼中發生了很大的變化,這是我檢查過的東西之一。當我在條件上使用==時,它似乎不會輸出textarea上的值,它只會在它的單個'=' –

回答

0

我解決這個問題:

變化:

.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>