2017-10-10 50 views
0

我是JavaScript中的初学者&在此任务中我必须执行以下操作;将用户输入(Q&A)存储在数组中并检索答案

  • 允许用户在将存储在数组中的html页面中输入问题和答案对。
  • 检索答案时,从阵列的一个问题是问(不同的盒子,标签)
  • 复位箱,当我按下一个按钮

到目前为止,我只知道如何存储用户输入到一个单独的数组中,并在按下按钮时将其添加并显示。

如何在同一个阵列中有两个不同的对象(问题&答案),这些对象将成为用户输入的成对输入,并且只有在再次输入问题时才检索答案? 它有点像手动机器人。

var myArr = []; 
 

 
function pushData() { 
 
    // get value from the input text 
 
    var inputText = document.getElementById('inputText').value; 
 

 
    // append data to the array 
 
    myArr.push(inputText); 
 

 
    var pval = ""; 
 

 
    for (i = 0; i < myArr.length; i++) { 
 
    pval = pval + myArr[i] + "<br/>"; 
 
    } 
 

 
    // display array data 
 
    document.getElementById('pText').innerHTML = pval; 
 
}
<!DOCTYPE html> 
 

 
<html> 
 

 
<head> 
 
    <title</title> 
 
    <meta charset="windows-1252"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
 
</head> 
 

 
<body> 
 

 
    <input type="text" name="text" id="inputText" /> 
 
    <button onclick="pushData();">Show</button> 
 
    <p id="pText"></p> 
 

 
</body> 
 

 
</html>

+1

推像'{Q: “问题文本”,答: “答案值”}对象' –

+0

那不是需要一个单独的文本框?这不会给我我期望的结果不幸:( – GeekyMeow

+0

抱歉,脱脂阅读的问题,建议是'如何有两个不同的对象(问题和答案)在同一个阵列' –

回答

1

为什么不使用一个对象?这样,您可以将Question/Answer对以Question作为关键字,并将答案作为其值存储起来。尝试了这一点:

var myObj = {}; 
 

 
function pushData() { 
 
    // get value from the input text 
 
    var question = document.getElementById('inputQuestion').value; 
 
    var answer = document.getElementById('inputAnswer').value; 
 

 
    // add data to the object 
 
    myObj[question] = answer; 
 
} 
 

 
function getAnswer() { 
 
    var question = document.getElementById('inputRetrieveQuestion').value; 
 

 
    if (myObj[question]) { 
 
    document.getElementById('pText').innerHTML = myObj[question]; 
 
    } 
 
}
<html> 
 

 
<body> 
 
    <h3> Enter a Question/Answer </h3> 
 
    Question <input type="text" name="question" id="inputQuestion" /> Answer <input type="text" name="answer" id="inputAnswer" /> 
 
    <button onclick="pushData()">Submit</button> 
 
    </br> 
 

 
    <h3> Retrieve an Answer </h3> 
 
    Question <input type="text" name="question" id="inputRetrieveQuestion" /> 
 
    <button onclick="getAnswer()">Submit</button> 
 
    </br> 
 

 
    Answer: 
 
    <div id="pText"></div> 
 
</body> 
 

 
</html>

+0

非常感谢你!即使我确实使用了一个对象,但是我知道如何使用一个数组来做同样的事情? – GeekyMeow

相关问题