2017-05-05 1 views
-1

이것은 내 jS 코드입니다. 버튼을 누르면 값이 1 인 다른 요소를 추가하고 싶습니다. 지금은 하나 이상의 요소를 가지지 않도록 배열을 재설정하고 있습니다. 내가 여기서 뭘하니? 여기 자바 스크립트 배열이 작동하지 않음

var x = document.getElementsByTagName('button');//return button array 
var age_array = []; 
    smoker_array = []; 
    relation_array = []; 

    age = 0; 

//add button clicked 
x[0].addEventListener("click", function(){ 

    /* 
    var age = document.getElementsByName("age")[0].value;//pull age from box 
    var relation = document.getElementsByName("rel")[0].value;//pull relation 
    let smoker = document.querySelector('[name=smoker').checked; 

    //check relation 
    if(relation === "") 
    { 
     alert("please select a realation"); 
    } 

    //check to see if age < 0 
    if(age < 0 || age === " ") 
    { 
     alert("age not applicable"); 
    } 
    */ 


    age_array.push(1); 
    alert(age_array.length); 


}); 

/*function submit(age, relation, smoker) 
{ 
    age_array.push(age); 

    alert(age_array[0]); 
    alert(age_array[1]); 
    /* 
    x[1].addEventListener("click", function(){ 
     var age = JSON.stringify(entry_age); 
     alert(entry_age[1]); 
     document.getElementbyClassName("debug").innerHTML = JSON.stringify(entry_relation); 
     document.getElementByClass("debug").innerHTML = JSON.stringfy(entry_smoker); 
    }); 
} 
    */ 

는 HTML 코드

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Household builder</title> 
     <style> 
      .debug { 
       font-family: monospace; 
       border: 1px solid black; 
       padding: 10px; 
       display: none; 
      } 
     </style> 
    </head> 
    <body> 
     <h1>Household builder</h1> 
     <div class="builder"> 
      <ol class="household"></ol> 
      <form> 
       <div> 
        <label>Age 
         <input type="text" name="age"> 
        </label> 
       </div> 
       <div> 
        <label>Relationship 
         <select name="rel"> 
          <option value="">---</option> 
          <option value="self">Self</option> 
          <option value="spouse">Spouse</option> 
          <option value="child">Child</option> 
          <option value="parent">Parent</option> 
          <option value="grandparent">Grandparent</option> 
          <option value="other">Other</option> 
         </select> 
        </label> 
       </div> 
       <div> 
        <label>Smoker? 
         <input type="checkbox" name="smoker"> 
        </label> 
       </div> 
       <div> 
        <button class="add">add</button> 
       </div> 
       <div> 
        <button type="submit">submit</button> 
       </div> 
      </form> 
     </div> 
     <pre class="debug"></pre> 
     <script type="text/javascript" src="index.js"></script> 
    </body> 
</html> 
+0

코드로이 마킹 - 아마 당신은 –

+0

이 잘못 경고 팝업입니다 경우에도 당신이 잘못하고있는 것을 보여주기 위해 실제 코드를 너무 많이 손질 한 ? 그렇지 않은 경우에는 아직로드하지 않은 요소에 핸들러를 지정하려고합니다. – Bindrid

+0

코드를 실행 가능한 스 니펫으로 게시하는 한 가지 이유는 사용자가 말하는대로 작동하는지 확인하는 것입니다. ;-) "재현 할 수 없으므로"투표를 종료합니다. – RobG

답변

0

이 이유 인 경우 나도 몰라,하지만 코드는 엄격 모드에서 작동하지 않습니다.

var age_array = []; 
    smoker_array = []; 
    relation_array = []; 

은 다음과 같아야합니다

var age_array = [], 
    smoker_array = [], 
    relation_array = []; 

나 : 도움을

var age_array = []; 
var smoker_array = []; 
var relation_array = []; 
+0

고마워, 해봤지만 여전히 작동하지 않았다. –

+0

는'''var age = 0;''과 같다. 당신이 * 작동하지 않는다고 말할 때, 어떻게됩니까? 경고를 볼 수 있습니까? 아니면 전혀 발생하지 않는 것처럼 보입니다. 그렇다면''try {...} catch (e) {alert (e.toString())에 코드를 자유롭게 쓰십시오. }'''또는 이와 동등한 것. – gabriel

+0

엄격 모드에 있어도 문제가 아니라 오류가 발생합니다. – nnnnnn

0

얘들 아 주셔서 감사합니다. HTML에 문제가있는 것 같습니다. 나는 무엇을 모른다. JS가 내 자신의 HTML을 사용하여 작업하고 HTML을 변경할 수 없습니다. 어쨌든 모두들 도와 줘서 고마워.

배열을 재설정하지 않습니다 같이 대답

관련 문제