0

別の値を更新する関数を作成しようとしていますが、最初は(最初の送信後、データがポップアップするアラートがあるため、これは正しく機能します。ただし、その後、いくつかの奇妙なことが発生します。最初に、innerHTML更新するはずの関数がほぼすぐに消えます。2番目の関数(およびJavaScriptのすべてのように見えます)が再び実行されません。なぜこのように動作するのかわかりません。誰か提案がありますか?

すべての助けを事前に感謝します!

<script type="text/javascript">
    var INIT_PLANNED_HRS = 5;
    var values = {};
    $(document).ready(function () {
        $('#addCourse').submit(function () {
            var $inputs = $('#addCourse :input');
            $inputs.each(function () {
                values[this.name] = $(this).val();
            });
            INIT_PLANNED_HRS += Number(values['hours']);
            document.getElementById('hrs_planned').innerHTML = 'HOURS =    ' + INIT_PLANNED_HRS + ' GPA = ';
            alert("values[this.name] =  " + values['hours'] + " INIT_PLANNED_HRS    " + INIT_PLANNED_HRS); 
        });
        document.getElementById('hrs_planned').innerHTML = 'HOURS =    ' + INIT_PLANNED_HRS + ' GPA';
    });
</script>



<li><h3>Planned Courses</h3><p id = "hrs_planned"> gpa </p></li>
4

1 に答える 1

1

ハンドラーが呼び出されたときではなく、ハンドラーを設定hrs_plannedした直後に要素を更新しています。JSコンソールにエラーがないか確認してください。スクリプトで致命的なエラーが発生した場合、スクリプトは実行されなくなる可能性があります。onsubmit

于 2012-06-21T16:40:40.567 に答える