2014-03-18 121 views
0

我想知道如何更改我的腳本,以便在用戶驗證其答案時顯示正確的反饋圖像。如何檢查多個輸入字段

我的功能有正確答案的數組和空數組來存儲用戶的答案。

當我確認,我需要顯示反饋圖像中的字段(是否正確只是表明,如果錯誤顯示和另外一個人更換反饋圖像)。

這裏是我的代碼:

編輯:http://jsfiddle.net/usPMd/109/

$(document).ready(function() { 

      $("#validateButton").click(function schimbare() { 
       $(".feedback").show(); 
       $('.feedback').attr('src', 'res/wrong.svg'); 
      }); 

     }); 


//verificam daca raspunsul este corect 

function checkAnswer() 
{ 
    var inputTF = document.getElementsByTagName('input'); 
    for (i = 0; i < inputTF.length; i++) 
    { 
     if (inputTF[i].value == raspunsuri[i]){ 
      user.push(inputTF[i].value); 
      $(".feedback").show(); 
     } 
     else 
     { 
      user.push(""); 
      schimbare(); 

     } 
     } 

}; 
+0

顯示您的HTML代碼並告訴我們什麼是確切的錯誤。 –

+0

@Yair Nevet在編輯現在編輯它...什麼錯了?以及...當我驗證我想顯示反饋$(「。feedback」)。hide();這是隱藏在init();但只有正確的答案...對於錯誤的答案,我需要調用函數schimbare();它顯示並改變圖像反饋$('。feedback')。attr('src','res/wrong.svg'); – Proless

+0

有人明白嗎? – Proless

回答

0

在你的JavaScript,要定義#validateButton一個onClick處理程序。在你的html中,你在#validateButton上有一個onclick屬性,它調用了一個不同的函數。這很混亂。我建議刪除這兩個和定義驗證功能,這將是負責渲染我們的正確/錯誤圖像輸入字段旁邊:

var validate = function() { 
    $('input').each(function() { 
     var $this = $(this); 
     var answer = $this.attr('correct'); 
     var value = $this.val(); 
     var src = (answer === value) ? 'res/correct.svg' : 'res/wrong.svg'; 
     $this.closest('.box').find('img.feedback').attr('src', src); 
    }); 
}; 

現在讓我們使用jQuery來連線我們的validate方法的#validateButton點擊事件:

$("#validateButton").on('click', validate);