2017-06-20 79 views
0

我想從html文本框中獲取輸入,並將輸出排列在數組中。 我在這裏跟着這個例子http://www.w3resource.com/javascript-exercises/javascript-array-exercise-13.php在Blank Array中添加項目,Javascript顯示項目

現在我已經能夠做這樣的事情,除了我想它打印數組在div標籤,我似乎得不到正確。代碼如下所示

<!doctype html> 
<html> 
<head> 
<script type=text/javascript> 
var x; 
var y; 
var z; 
var array = Array(); 

function add_element_to_array() 
{ 
array[x] = document.getElementById("institution_name").value; 
array[y] = document.getElementById("degree_obtained").value; 
array[z] = document.getElementById("honors_acheieved").value; 
x++ 
y++ 
z++; 
document.getElementById("institution_name").value = ""; 
document.getElementById("degree_obtained").value = ""; 
document.getElementById("honors_acheieved").value = ""; 
} 

</script> 

</head> 
<title>Test Javascript</title> 
<h1>Test JS</h1> 
<body> 
<form name="xform" id="xform" method="post" action="samris.php"/> 
Institution Name: <input type="text" name="institution_name" id="institution_name" /> </br> 
Degree Obtained: <input type="text" name="degree_obtained" id="degree_obtained" /></br> 
Honors Achieved: <input type="text" name="honors_acheieved" id="honors_acheieved" /></br> 
</p> 
<input type="button" name="Add" id="add" value="add" onclick=add_element_to_array();/> 
</form> 

<div> 
</div> 


</body> 
</html> 

我不知道爲什麼它不打印出來回格列

+0

你給所有的文本字段相同的ID,它永遠不會工作 – manny

+0

@曼尼,現在改變,仍然是一樣的。我編輯過。並粘貼我擁有的。 – Pharell

回答

0

我相信,有2個問題 1.你不初始化數組索引(X,Y和Z)在你的JavaScript開始。請修改後檢查下面

<script type=text/javascript> 
var x = 0; 
//var y; 
//var z; 
var array = Array(); 

function add_element_to_array() 
{ 
array[x++] = document.getElementById("institution_name").value; 
array[x++] = document.getElementById("degree_obtained").value; 
array[x++] = document.getElementById("honors_acheieved").value; 
//x++ 
//y++ 
//z++; 
document.getElementById("institution_name").value = ""; 
document.getElementById("degree_obtained").value = ""; 
document.getElementById("honors_acheieved").value = ""; 
} 

</script> 
  • 我看不出有任何的div在你的HTML你在哪裏填充數組內容。您需要爲div分配一個id,然後添加javascript以將內容分配給該div,如

    document.getElementById('arrayOutput')。value = array.toString();

  • 1

    <!doctype html> 
     
    <html> 
     
    
     
    <head> 
     
        <script type=text/javascript> 
     
        var array = []; 
     
    
     
        function add_element_to_array() { 
     
        \t array.push(document.getElementById("institution_name").value); 
     
        \t array.push(document.getElementById("degree_obtained").value); 
     
        \t array.push(document.getElementById("honors_acheieved").value); 
     
         
     
         document.getElementById("institution_name").value = ""; 
     
         document.getElementById("degree_obtained").value = ""; 
     
         document.getElementById("honors_acheieved").value = ""; 
     
        } 
     
        </script> 
     
    </head> 
     
    <title>Test Javascript</title> 
     
    <h1>Test JS</h1> 
     
    
     
    <body> 
     
        <form name="xform" id="xform" method="post" action="samris.php" /> Institution Name: 
     
        <input type="text" name="institution_name" id="institution_name" /> </br> 
     
        Degree Obtained: 
     
        <input type="text" name="degree_obtained" id="degree_obtained" /> 
     
        </br> 
     
        Honors Achieved: 
     
        <input type="text" name="honors_acheieved" id="honors_acheieved" /> 
     
        </br> 
     
        </p> 
     
        <input type="button" name="Add" id="add" value="add" onclick="add_element_to_array()" /> 
     
        </form> 
     
        <div> 
     
        </div> 
     
    </body> 
     
    
     
    </html>

    這將是代碼。請檢查這個,也許它可以幫助。你使用了根本不需要的x,y和z變量。只需推送數組中的值。

    代碼中存在另一個錯誤。您將該數組聲明爲Array()。這是不正確的。在Javascript中,我們可以使用Array literal([])或new Array來聲明一個數組。

    該數組將包含所有值。現在你可以打印一個div。