Javascript 如何检查用户输入的答案是否正确?

Javascript 如何检查用户输入的答案是否正确?,javascript,html,Javascript,Html,我正在为孩子们制作一个在线应用程序,使用以下代码从数据库中随机选取一幅图像: <script type="text/javascript"> var random_images_array = ['apple.gif', 'book.gif',...] function getRandomImage(imgAr, path) { path = path || 'images/'; var num = Math.floor( Math.random() * imgAr.length

我正在为孩子们制作一个在线应用程序,使用以下代码从数据库中随机选取一幅图像:

<script type="text/javascript">
var random_images_array = ['apple.gif', 'book.gif',...]

function getRandomImage(imgAr, path) 
{
path = path || 'images/';
var num = Math.floor( Math.random() * imgAr.length );
var img = imgAr[ num ];
var imgStr = '<img src="' + path + img + '" alt = "">';
document.write(imgStr); document.close();
}
</script>

var random_images_array=['apple.gif','book.gif',…]
函数getRandomImage(imgAr,路径)
{
路径=路径| |'图像/';
var num=Math.floor(Math.random()*imgAr.length);
var img=imgAr[num];
var imgStr='';
document.write(imgStr);document.close();
}
我的问题是,我怎样才能告诉计算机用户输入的答案是否正确? 例如,如果程序显示apple图像,用户应键入“apple”,系统应返回“正确”消息。
p、 图像的名称表示该图像的内容。

最简单的方法是对照图像的名称检查用户输入,首先,将
num
设为全局变量,以便您可以在任何函数中访问它。然后,编写一个函数,在扩展名的索引
num
处,对照
random\u images\u array
中的项目检查用户输入。以下是最终代码:

<script type="text/javascript">
var random_images_array = ['apple.gif', 'book.gif',...]
var num = 0;

function getRandomImage(imgAr, path) 
{
    path = path || 'images/';
    num = Math.floor( Math.random() * imgAr.length );
    var img = imgAr[num];
    var imgStr = '<img src="' + path + img + '" alt = "">';
    document.write(imgStr); document.close();
}

function checkUserInput() {
var userInput = document.getElementById("textInput").value;
var stringToCheckAgainst = random_image_array[num].split('.');
//this splits the item at the array index into an array, like so. If the item is "apple.gif", the array reads ["apple", "gif"]
if (userInput == stringToCheckAgainst[0]) {
    //user has inputted the correct string
    window.alert("user gave correct response!");
} else {
    //user has inputted an incorrect string
    window.alert("user gave incorrect response!");
}
}
</script>
<input type="text" placeholder="placeholder text goes here" id="textInput" />
<button type="button" onclick="checkUserInput();">Check your answer!</button>

var random_images_array=['apple.gif','book.gif',…]
var num=0;
函数getRandomImage(imgAr,路径)
{
路径=路径| |'图像/';
num=Math.floor(Math.random()*imgAr.length);
var img=imgAr[num];
var imgStr='';
document.write(imgStr);document.close();
}
函数checkUserInput(){
var userInput=document.getElementById(“textInput”).value;
var stringToCheckAgainst=随机图像数组[num]。拆分('.');
//这会将数组索引处的项拆分为一个数组,如下所示。如果该项为“apple.gif”,则该数组的读数为[“apple”,“gif”]
if(userInput==stringToCheckAgainst[0]){
//用户已输入正确的字符串
window.alert(“用户给出了正确的响应!”);
}否则{
//用户输入了不正确的字符串
警告(“用户给出了错误的响应!”);
}
}
检查你的答案!

您需要的不仅仅是一组图像;您需要一个关联数组,一个将每个图像与一个单词关联的数组。关联数组在Javascript中非常容易实现。有关如何执行这些操作的更多一般信息,请参阅我的问题:程序在执行此代码后是否知道选择了哪个图像?因此,我们可以对照此检查用户的输入。如果您将
num
设置为全局变量,程序可能会将我的输入文本如何连接到此代码?我将编辑答案,以包含文本输入和获取输入值的方法此代码不显示任何内容…尝试使用我刚才添加的警报将不显示任何内容响应时,不应使用if(userInput==stringToCheckAgainst[num]),而应使用if(userInput==stringToCheckAgainst[0])