2012-09-09 20 views
0

我已經完成了一個網站,用戶在填充文本框後需要點擊按鈕。當他按下圖像更改(它就像一個命令slideshow)。我的問題是,當你觸摸「輸入」而不是用鼠標點擊時,它不會產生淡化效果。Javascript:「Click」和「Enter key」之間的不同響應

該網站是這樣,那麼,你可以嘗試:http://www.tuttoscorre.net/esame-storia-arte-moderna.php

如何CON我處理這個問題?

該網站的目的是在JavaScript數組中存儲寫在文本框中的答案,以在幻燈片放映(10張幻燈片)結束時顯示該答案。

這裏是按鈕和幻燈片的代碼:

<script type="text/javascript"> 
     //Dichiaro Array Globale 
     var risposte = new Array(); 
     var count = 0; 
     $('.risultati').css({opacity: 0.0}); 

     //Salvo risposta, svuoto text, proseguo con le slide 
     function conferma(frm) { 
      if (frm.nome.value == "") alert("Non hai scritto nulla!"); 
      else { 
       risposte[count] = frm.nome.value; 
       count = count + 1; 
       frm.nome.value = ""; 
       prossima(); 
      } 
     } 

     //Nuova slide sempre verso dx 
     function prossima(frm) { 
      var $active = $('#slideshow img.active'); 

      if (!$active.next('img').length) { 
       risultati(); 
      } else { 
       var $next = $active.next(); 

       $next.css({opacity: 0.0}) 
        .addClass('active') 
        .animate({opacity: 1.0}, 1000, function() { 
         $active.removeClass('active'); 
        }); 
      } 

     } 

     //Tolgo slide e mostro risultati 
     function risultati() { 
      $('#slideshow').animate({opacity: 0.0}, 1000); 
      $('#compila').animate({opacity: 0.0}, 1000); 
      $('#risultati').animate({opacity: 1.0}, 1000, function() { 
       $('#risultati').addClass('visibile'); 
      }); 

      $('#1').append(risposte[0] + "<br/>Risposa corretta: " + "<?php echo $soluzioni[0]; ?>"); 
      $('#2').append(risposte[1]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[1]; ?>"); 
      $('#3').append(risposte[2]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[2]; ?>"); 
      $('#4').append(risposte[3]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[3]; ?>"); 
      $('#5').append(risposte[4]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[4]; ?>"); 
      $('#6').append(risposte[5]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[5]; ?>"); 
      $('#7').append(risposte[6]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[6]; ?>"); 
      $('#8').append(risposte[7]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[7]; ?>"); 
      $('#9').append(risposte[8]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[8]; ?>"); 
      $('#10').append(risposte[9]+ "<br/>Risposa corretta: " + "<?php echo $soluzioni[9]; ?>"); 
     } 

    </script> 

這是與按鈕的形式:

 <form id="compila"> 
       <input id="enterTxt" class="okText" type="text" name="nome" /> 
       <input id="enterButt" class="okIcon" type="Button" value="ok" onClick="conferma(this.form)"> 
      </form> 

非常感謝。

回答

1

你必須在你的函數形式發送對事件中使用.preventDefault()

Documentation

或者只是使用:

$("#compila").submit(function() { 
    conferma(this); 
    return false; 
}); 

我的答案使用jQuery。

+0

完美。非常感謝! –

+0

歡迎你。你也可以添加'jquery'標籤來回答問題。 –

1

綁定你的函數form.submit(),而不是button.click

相關問題