6

ユーザーがフォームに入力しても、ページが典型的な codeigniter の方法でリロードされていることを検証しない場合、長いページの下部にフォームがあります。

$this->load->view('template',$data);

ただし、フォームはページの一番下にあるため、HTML アンカーの場合と同様に、そこにページをロードする必要があります。codeigniterでこれを行う方法を知っている人はいますか?

コードイグナイターが使えない

redirect();

オブジェクトが失われ、検証エラーがなくなるためです。私が使用した Yii のような他のフレームワークでは、次のようにリダイレクト関数を呼び出すことができます。

$this->redirect();

オブジェクトを保持するため、問題は解決します。私は使用してみました:

$this->index()

リダイレクトとして正常に機能するコントローラー内では、検証エラーは現在のページが読み込まれる別のメソッドにあります。

$this->item($labs)

しかし、これを使用するとループに陥ります

何か案は?私はこの質問をネットでよく見ましたが、明確な答えはありません。codeigniterの「フラッシュデータ」を使って研究していますが、少しやり過ぎだと思います。

乾杯。

4

2 に答える 2

5

個人的にこれを保証することはできませんが、このスレッドによると、アンカーをフォームの に追加するactionと機能します。

CodeIgniter ヘルパー:

<?php echo form_open('controller/function#anchor'); ?>

またはバニラ HTML:

<form method='post' action='controller/function#anchor'>

Javascript の使用に慣れている場合は、変数を簡単に検出し$validation_failedて適切にスクロールすることができます。または、さらに良いことに、AJAX を使用します。

別のオプションは、フォームをページの上部近くに配置することですか?

于 2012-09-21T19:31:25.027 に答える
0
于 2012-09-21T19:31:57.830 に答える