Codeigniter PHP – загрузка представления в точке привязки

У меня есть форма внизу длинной страницы, если пользователь заполняет форму, но не подтверждает, что страница перезагружается в обычном кодеригере:

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

тем не менее, поскольку форма находится вниз в нижней части страницы, мне нужна страница для загрузки там, как это делается с помощью якорей HTML. Кто-нибудь знает, как это сделать в кодеригере?

Я не могу использовать codeigniter

redirect();

потому что он теряет объект, и ошибки проверки исчезли. Другие рамки, которые я использовал как Yii, вы можете вызвать функцию перенаправления, например:

$this->redirect();

который решает проблему, потому что вы храните объект. Я пробовал использовать:

$this->index()

в контроллере, который отлично работает в качестве перенаправления, но ошибки проверки в другом методе, в котором загружается текущая страница:

$this->item($labs)

но когда я использую это, он застревает в цикле

Есть идеи? Я много видел этот вопрос в сети, но не дал ясных ответов. Я изучаю использование flash-данных codeigniter, но думаю, что это немного перебор.

веселит.

Related of "Codeigniter PHP – загрузка представления в точке привязки"

Я не могу лично ручаться за это, но согласно этой теме, если вы добавите якорь в действие формы, он будет работать.

Помощник CodeIgniter:

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

Или ванильный HTML:

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

Если вы были открыты для использования Javascript, вы можете легко обнаружить переменную $validation_failed и соответствующим образом прокрутить. Или, еще лучше, используйте AJAX.

Другой вариант – разместить форму в верхней части страницы?

Хорошо, насколько я понял вашу проблему, это не так сильно связано с задним концом (codeigniter). Вы хотите, чтобы форма внизу страницы была «what-users-sees-on-page-load» (поскольку вы упоминаете привязки).

Теперь, что вы можете сделать, вы можете установить разделители для сообщений об ошибках проверки, используя:

 echo validation_errors('<div id="bottom_form_error">', '</div>'); 

Используя jQuery ScrollTo , выполните:

 $( function() { $('#bottom_form_error').ScrollTo(); } ); 

И пользователь будет прокручиваться до ошибок в нижней части страницы. Не забудьте также включить jQuery.

Якорный хэш-фрагмент клика отличается – он прокручивается со скоростью ∞ .

Надеюсь, это то, что вы хотели.


PS Я игнорирую сказанное ниже этой строки:

Кто-нибудь знает, как это сделать в кодеригере?

поскольку я чувствовал, что это не имеет отношения к вопросу.