0

我做了一个网站,用户在填写文本框后需要点击一个按钮。当他按下图像时,图像会发生变化(就像命令幻灯片一样)。我的问题是,当您触摸“输入”而不是用鼠标单击时,它不会产生淡入淡出效果。

网站是这样的,你可以试试:http ://www.tuttoscorre.net/esame-storia-arte-moderna.php

我怎么处理这个?

该网站的目的是将文本框中的答案存储在 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>

非常感谢。

4

2 回答 2

1

您必须.preventDefault()在发送表单的函数中使用事件。

文档

或仅使用:

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

我的答案使用 JQuery。

于 2012-09-09T19:43:29.947 回答
1

将您的函数绑定到 form.submit() 而不是 button.click

于 2012-09-09T19:35:41.373 回答