JavaScript - 需要帮助组合两个脚本。

时间:2012-08-10 20:56:42

标签: javascript html html5

我正在尝试调用用户输入数组。

我对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 = ''; };

对如何将它们放在一起感到困惑。

1 个答案:

答案 0 :(得分: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];
}

工作样本here

为了找到代码中的问题,jsFiddle可以提供很好的帮助。运行JSlint以查找基本错误,将警报作为可怜的勒芒调试。

对于一本好的javascript书,我建议javascript patterns