0

サイトの Joomla コンポーネントに取り組んでいます。スタートページのwww.shipedia.euで見ることができます。クルーズ用のサーチマスクです。

今私の問題:

スタート ページに「Suchen & Finden」ボタンがあり、AJAX クエリ (jQuery で実行) を開始する必要があります。ajaxクエリの答えで、ページの内容を変更したい。FFおよびすべての優れたブラウザでは正常に動作しますが、IEでは動作しません...それを修正するために私が行ったことは、ユーザーがIEを使用しているかどうかを確認することです. 彼が IE を使用している場合、ajax クエリを実行するのではなく、window.location() でリダイレクトする必要があります。私のWindows PCの1つにインストールされたIEでは魔法のように動作しますが、実際にはそこにあり、私が試した他のすべてのWindows PCでは動作しません。

ここでは、IE を識別してリダイレクトを実行するために使用したコードを示します。

// check for ie
        if (jQuery.browser.msie) {
            window.location(url);
        }

必要なのは、IE を識別して特定の URL にリダイレクトするか、AJAX クエリを実行してコンテンツを変更することです。

編集:

ここで、ajax-query を開始するため、またはリダイレクトを行うために使用しているコード全体を以下に示します。

    // button link
    jQuery('.button_s_link').click(function(){

        // wait on
        jQuery('#wait').show();

        // sammle die werte
        var toc =           jQuery('.change_toc:checked').val();
        var zielgebiet =    jQuery('.zielgebiete_s_select').val();
        var from =          jQuery('.from').val();
        var to =            jQuery('.to').val();
        var reederei =      jQuery('.reederei_s_select').val();
        var schiff =        jQuery('.schiff_s_select').val();

        // erstelle url
        var url =   'index.php'
                   +'?option=com_kreuzfahrten'
                   +'&view=filter'
                   +'&search=1'
                   +'&toc='+toc
                   +'&zielgebiet='+zielgebiet
                   +'&from='+from
                   +'&to='+to
                   +'&reederei='+reederei
                   +'&schiff='+schiff;

        // check for ie
        if (jQuery.browser.msie) {
            url += '&Itemid=<?php echo JRequest::getVar('Itemid'); ?>';
            window.location(url);
        } else {
            url += '&format=raw'
                +  '&template=raw_filter';
        }

        // lade filter ansicht
        jQuery.ajax({
            type: 'POST',
            url: url,
            dataType:'html',
            success: function (data) {
                jQuery('.mainContainer_s').empty().html(function(){
                  // wait off
                  jQuery('#wait').hide();
                  return data;
                });
            },
            error: function () {
                alertErrorMsg();
            }
        });
4

1 に答える 1