0

サイトの再構築はほぼ完了しており、現在はテスト段階です。IE7 と 8 でテストしているときに、JSON スクリプトが原因で、IE9 を含む他のすべてのブラウザーで動作する場合でも、jquery スクリプトが正しく動作しないことがわかりました。

ページ: http://www.carcityofdanbury.com/New/?cat=01&do=View&stock=18481

スクリプトは Info Request フォームで、次の行の何かです: ".append("<p>Thank you " + data.name + ",</p><p class=\"indent\">we recieved your info request " + data.for + " on our<br />'.$vehicle.' and will contact you shortly.</p>")"jquery タブが機能しなくなります。

私はphpとjqueryのコーディングを行いましたが、jsonを行うために誰かを雇ったので、これを修正する方法がわかりません. 何か案は?

4

2 に答える 2

1

解決しました...コードに余分なコンマがありました:

        <script language="javascript" type="text/javascript">
        $(document).ready(function() {

        // Tabs
            $("#tabs").tabs();

        // Google map
            $(\'#embed\').gmap3(
                {action: \'addMarker\', lat:41.40372, lng:-73.45844, map:{center: true, zoom: 17, mapTypeId: google.maps.MapTypeId.ROADMAP}}
            );

        // Pic popup
            $("#viewPics").fancybox({
                \'type\': \'iframe\', \'transitionIn\': \'fade\', \'transitionOut\': \'fade\', \'width\': 900, \'height\': 500, \'autoScale\': false, \'scrolling\': \'no\'
            });

        // Form Validation
            jQuery.validator.messages.required = "";
            $("#infoForm").validate({

                invalidHandler: function(e, validator) {
                    var errors = validator.numberOfInvalids();
                    if (errors) {
                        var message = errors == 1
                            ? \'You missed 1 required field.\'
                            : \'You missed \' + errors + \' required fields\';
                        $("li.Error span").html(message);
                        $("li.Error").show();
                    } else {
                        $("li.Error").hide();
                    }
                },

                onkeyup: false,
                submitHandler: function(form) {
                    $.ajax({
                        url: "01/Resources/infoRequest.php",
                        type: "POST",
                        cache:false,
                        data: $("#infoForm").serialize(),
                        dataType: "json",
                        success: function(data) {
                            $("li.Error").hide();
                            $("#contact_form").html(\'<div id="message"></div>\');
                            $("#message").html("<h2>Info Request Submitted!</h2>")
                            .append("<p>Thank you " + data.name + ",</p><p class=\"indent\">we recieved your info request " + data.test + " on our<br />'.$vehicle.' and will contact you shortly.</p>")
                            .hide()
                            .fadeIn(2500, function() {
                                $("#message").append("<p>Would you like to <a href=\"?cat=02&stock='.$stock.'\">prefill an application</a> now?</p>")
                            });
                        }
                    });
                }, <------- This guy was the culprit

            });

        });
    </script>
于 2012-04-11T19:25:59.173 に答える
1

問題は、data.forあなた (コードを書いた人) が予約済みの名前の 1 つにアクセスしようとしているように聞こえます。data.forIE は有効である必要がありますが、特別だと思われる名前 (クラスなど) を好みません。data.class有効であっても、IE で問題が発生する可能性があります。

たとえば、別の名前に変更data.forしてみてください。PHP ファイルをdata._for更新して、新しい値も返すようにしてください。01/Resources/infoRequest.php

于 2012-04-11T03:35:53.700 に答える