2016-07-03 4 views
-1

나는 이러한 블록이있는 경우 그렇지 않은/경우자바 스크립트 - 결과

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에 첫 번째 옵션을 계속 유지하면서 선택 항목을 첫 번째 옵션으로 되 돌리는 것으로 보입니다.

이 작업을 수행하는 데 필요한 아이디어와 간단한 방법이 있으면 감사하겠습니다.

참고 : 사용자가 라디오를 버튼으로 원하기 때문에이 경로를 선택해야했습니다.

+5

==와 비교하고 true/false와 같은 키워드를 사용하십시오. – Li357

+0

조건의 내용을 비교할 때는'=='를 사용하십시오. 전의. 'else if (document.getElementById ('emailOpt4'). checked == true) {'부울은 따옴표를 사용하지 않고 문자열은 따옴표를 사용합니다. true, false 그들은 Boolean입니다. – zer00ne

+0

~이 코드에서 많이 바뀌 었습니다. 그리고 그것은 제가 확인한 것 중 하나였습니다. 조건부에 ==를 사용하면 텍스트 영역에 값을 출력하지 않는 것처럼 보일뿐입니다. '=' –

답변

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>

관련 문제