检查多个输入字段的功能

时间:2014-03-17 20:45:59

标签: javascript jquery arrays

我已经为一个项目实现了一个检查功能,该项目有6个输入字段,限制的功能只使用1个字符,只有数字,我想验证在这些字段中输入的答案。我创建了一个具有正确答案的数组,但它不像我预期的那样工作。我想要的是检查输入并存储错误的答案,以便通过重置功能清除。正如你可以在小提琴中看到的那样,有2个反馈图像,我需要在检查答案时显示它们,但错误的图像是错误的答案,正确的图像是正确的答案。我整天都被困在这里......我无法抗拒,我在这里发布了我的问题。这是一些代码和小提琴:

http://jsfiddle.net/sDY8c/1/

编辑:检查功能 - 将用户答案与正确答案数组进行比较。存储错误答案。在输入右侧显示正确的反馈图像(如果答案正确,则显示所有输入的正确图像反馈,并给出正确答案。 ..如果答案错误,请为错误答案的所有输入显示错误的图像反馈。

重置功能: - 从错误的答案中清除反馈图像,用错误的答案清除输入。 (注意:验证后的正确答案将保留正确的答案和正确的反馈图像)

谢谢!

function checkAnswer()
{
    var inputTF = document.getElementsByTagName('input');
    for (i = 0; i < inputTF.length; i++)
    {
        if (inputTF[i].value == raspunsuri[i]){
            user.push(raspunsuri[i]); 

            updateBubble(3);
        }
        else
        {
            user.push("");

            updateBubble(2);

        }
    }

};

1 个答案:

答案 0 :(得分:0)

好的,目前你有几个重要的问题。

  1. 你有id =&#34;错误&#34;和id =&#34;正确&#34;在12个不同的图像上。 ID必须是唯一的。我建议你使用class =&#34;错误&#34;和class =&#34;正确&#34;因为课程是多重的。
  2. 我在checkAnswer中添加了user = [];,因此它不会构建多个版本的&#34;更正&#34;答案
  3. .show(...)应该是这样的:$(inputTF[i]).nextAll('.correct').show()$(inputTF[i]).nextAll('.wrong').show()显示并不像您所拥有的那样参与论坛。
  4. 在那些2/3的事情发生变化之后,它可能会起作用,或者我可能能够更好地了解这个问题。当我测试它时,存在一些非存在声音文件的问题,但我对它们进行了评论,我的测试结果很好。

    编辑:这是我使用的内部代码似乎工作,但我改变了所有id =&#34;错误&#34;和id =&#34;正确&#34;成为班级=&#34;反馈错误&#34;和class =&#34;反馈正确&#34;在html。

        if (inputTF[i].value == raspunsuri[i]){
            user.push(raspunsuri[i]); 
            $(inputTF[i]).nextAll('.wrong').hide();
            $(inputTF[i]).nextAll('.correct').show();
            updateBubble(2);
        }
        else
        {
            user.push("");
            $(inputTF[i]).nextAll('.wrong').show();
            $(inputTF[i]).nextAll('.correct').hide();
            updateBubble(3);
    
        }