1

私はphpページを持っています。これには、タブのように見える複数の画像があります。このphpページには、前述のさまざまな画像をクリックするとさまざまなPHPページをロードするdivがあります。これは Ajax を使用して行われます。これは、ページをリロードしなくても問題なく機能します。これは、ページをリロードせずにタブ操作をシミュレートするために行われます。この多くは正常に機能しています。

しかし今、私は内部phpファイルの1つに検索操作を行う必要があります. これを kepup で Ajax を使用して検索操作を行い、その結果を内部の php 内の別の div に表示すると、php 内の php と別の php 内の php になります。すべて ajax を使用して読み込まれた完全に 3 つのレイヤーの php。

この段階で問題に直面しています。タブ操作である最初のレイヤーは、AJAX で正常に動作します。ajax を使用した次の検索層も機能しますが、外側の php もリロードします。そのため、検索操作ではなく、タブをクリックしたように見えます。だから今、私はあたかも ajax によってフォームをロードし、キーアップで結果を表示するために ajax 検索を行うという概念のように混乱に陥ります。これは可能でしょうか?

それで、私はそれを間違ってやったのですか、それともこのオプションを使用することはできませんか? ajaxなしでURLを使用して内部phpを直接ロードすると、検索は完全に正常に機能するためです。これは、コードイグナイターを使用してより簡単な方法で可能ですか? これに関するあなたのコメントとあなたの提案を教えてください。私が尋ねたことについて、あなたは多くの質問をするだろうと確信しています。あなたの質問を私に知らせてください。私はそれらに答えようとします。すべての提案に感謝します。前もって感謝します。

4

6 に答える 6

1

ここでAJAXとフレームを混同していると思います。

フレームを使用すると、親ページ内にページが読み込まれ、子ページでの通常の操作は親に影響しません。AJAX を使用する場合は、現在のページにコンテンツを挿入すると考えてください。挿入されたコンテンツはページの一部になり、そこで実行されたアクションはページに影響します。ajax には子ページという概念はありません。

あなたの問題については、多くの人が言及しているように、[検索] をクリックしたときにポストバック (フォームの送信など) を開始している必要があり、これによりページがリロードされます。

于 2009-08-19T16:05:29.683 に答える
0

これはうまくいくはずです。

どこかで、DIV だけでなくページ全体をリロードさせていると思います。送信ボタンなどがこれを行います。

親ウィンドウへの検索参照の JavaScript 部分のどこかにありますか? または親オブジェクト?対応するタブを呼び出そうとしているときに、実際にはページ全体を呼び出している可能性があります。

于 2009-08-17T15:40:58.543 に答える
0

「検索」ボタンは fosrm の送信を行いますか?:) あなたのアイデアは機能します (私はすでにこのようなことをしました) が、コードにバグがあるに違いありません

于 2009-08-18T08:48:05.560 に答える
0

外側のページもリロードするとおっしゃいましたが、リクエストしたいページにフォームアクションパラメータを設定していますか? この場合、送信ボタンを押した後、ブラウザがリダイレクトします。

于 2009-07-09T07:05:59.810 に答える
0

理論的には、このアイデアは機能するはずです。可能であれば、詳細を教えていただけますか?

質問:

あなたの設定はこれに似ていますか?

親 HTML (親) > (innverdiv1) タブが ajax によってページをロードする DIV > (innerdiv2) ロードされたページ内の DIV

理論的には、Ajax をロードしたページ (innverdiv1) にも ajax を実行させることができますが、新しいページ (innerdiv2) のドメインは、最初の ajax をロードしたページ内の DIVS にのみ制限する必要があります。

于 2009-07-09T02:57:45.080 に答える
0

タブを提供するために AJAX 呼び出しによって返されるコンテンツには、独自の操作用の JavaScript AJAX コードが含まれている必要があり、それ自体が実行されます。ほとんどのフレームワークでは、「evalScripts: true」などを使用してこれを許可する必要があります。

たとえば、タブに含まれているのは、最初の AJAX 呼び出しの結果です (フォーム自体の後):

<script>
   $('ajaxpostform').addEvent('submit', function(e) {
        new Event(e).stop();
        var update = $('ajax_content');
        this.send({
            update: update,
            evalScripts: true,
        });
   });
</script>

これは Mootools を使用して記述されており、フォームの ID が「ajaxpostform」であると想定しています。唯一の注意点は、タブを取得した元の AJAX 呼び出しにも "evalScripts: true" が含まれていることを確認することです。これはうまくいくはずです、私は以前にそれを使用しました。

于 2009-08-19T15:46:43.293 に答える