2012-08-10 2 views
-1

사용자 입력 배열을 호출하려고합니다.JavaScript - 두 스크립트를 결합하는 데 도움이 필요합니다.

저는 Javascript에서 매우 새로워졌지만 어쨌든 배열을 참조해야한다는 것을 알고 있습니다 (??? ???).

<script> 
var arrayX =5; 
var arrayY =1; 
var array=new Array(arrayX); 
var planetIndex=0; 

for (x=0; x<array.length; x++) 
{array [x] = new Array(arrayY);} 

function insert(val1){ 
    array[planetIndex][0]=val1; 
    planetIndex++; 
    document.getElementById('name').value = ''; }; 

function worldChange() { 
     var newplanet = ???????????? 
     var whichWorld = Math.floor(Math.random()*newplanet.length); 
     return planetIndex[whichWorld]; 

     var planets = document.getElementsByClassName("world-name") 
       for (var i=0; i < planets.length; i++) { 
       planets[i].innerHTML = worldChange();}; 
     }; 

</script> 
<body> 
    <div> 
    <form> 
       <input type="integer" id="name"/> 
      <input type="button" value="Add Planets" onclick="insert (this.form.name.value);"/> 
     </form> 

     <input type="button" value="See planet!" onClick="worldChange()" /> 
     <br> Hello <span class="world-name">Earth!</span><br /> 
</div> 
</body> 

나는 스크립트의 두 요소가 내 사이트에 완벽하게 작동하기 때문에 때마다 누군가가 이야기에서 남자를 변경하는 버튼 안타 얻었다. 그러나 내가 본 배열에서 끌어낼 지 알 수 있습니다. 사용자가 만든 어레이에서 끌어 와서 자신의 이름 목록을 입력 할 수 있습니다.

function newGuy() { 
     var guys = new Array ("Jeff", "Mike", "George", "Harold"); 
     var whichGuy = Math.floor(Math.random()*guys.length); 
     return guys[whichGuy];} 

var guy = document.getElementsByClassName("guy") 
    for (var i=0; i < guy.length; i++) { 
     guy[i].innerHTML = newGuy();} 

을 그리고이 스크립트는 혼자 작동 :

그래서이 스크립트는 잘 작동

var arrayX =5; 
var arrayY =1; 
var array=new Array(arrayX); 
var guyIndex=0; 

for (x=0; x<array.length; x++) 
{array [x] = new Array(arrayY);} 

function insert(val1){ 
    array[guyIndex][0]=val1; 
    guyIndex++; 
    document.getElementById('name').value = ''; }; 

은 그냥 함께 넣어하는 방법에 당황.

+0

추천 할 것입니다. 단지 조언 : Stack Overflow에 관한 질문을함으로써 단계적으로 어플리케이션을 구축 할 수는 없습니다. 당신은 아무데도 가지 않을 것이고 그러한 질문은 다른 사람에게 아무 소용이 없습니다 (귀하의 상황에 너무 구체적입니다). 튜토리얼/책/등을 통해 기초를 배워야합니다. –

+1

또한 주석과 의미있는 변수 이름을 사용해보십시오. arrayX/arrayY 란 무엇입니까? –

답변

0

당신에게 그것이 작동하도록하는 방법에 대한 아이디어를 줄 수 있지만 스크립트 많은 문제가 있습니다

var planets = []; 
// define how many planets there will be initially 
var initialLength = 5; 

// add the initital planets 
for (x = 0; x < initialLength; x++) { 
    planets.push("planet" + x); 
} 

function insert() { 
     var planetToInsert = document.getElementById('name').value; 
    if (planetToInsert) { 
     // add the input to the array of planets 
     planets.push(planetToInsert); 
     document.getElementById('name').value = ''; 
    } else { 
     alert("please enter a value"); 
    } 
} 


function worldChange() { 
    // randomly pick an index 
    var whichWorld = Math.floor(Math.random() * planets.length); 
    document.getElementById('world-name').innerHTML = planets[whichWorld]; 
} 

당신이 jsFiddle이 할 수있는 코드에서 문제를 찾기 위해 샘플 here

작업은 훌륭한 도움이. JSlint를 실행하여 기본 오류를 찾고 빈약 한 사람이 디버깅 할 때 경고를 표시합니다.

좋은 자바 스크립트 책 나는이 당신의 이전 질문 (들)과 관련이 볼 javascript patterns

관련 문제