【问题标题】:how to redirect to anchor tag in view page after CodeIgniter validationCodeIgniter 验证后如何重定向到视图页面中的锚标记
【发布时间】:2015-08-31 19:17:03
【问题描述】:

这是我的视图页面。在这里我为事件放置了锚标记 查看

<a href="#tab_3" data-toggle="tab">Events</a>
<div class="tab-pane" id="tab_3">
    <h3 class="box-title">Events</h3>
    <form role="form" id="EventForm"  action="<?echo base_url()?>home/submit_event" method="post">
        <div>
            <label>Event Name</label>
            <input id="event_name" name="e_name" type="text" style="margin-right:20px;width:174px;height:21px;margin-left:46px ;"  class="form-control event_form">
            <?php echo form_error('e_name'); ?>
        </div>
</div>

控制器

这里是验证后的插入。如果验证运行为假,我需要重定向锚标记。但我不知道这怎么可能。这里我正在重定向到我的主页的索引

function submit_event()
{
    $this->form_validation->set_error_delimiters('<div style="color:#B94A48">', '</div>');

    $this->form_validation->set_rules('e_name', 'Event Name', 'required');
    if ( $this -> form_validation -> run() === FALSE )
    {
        $this->index();
        //redirect(base_url().'');

    }
    else
    {
        $event_name=$this->input->post('e_name');
        $event_data=array(
            'event_name'=>$event_name,
        );
        $this->home_model->insert_event($event_data);
    }
}

【问题讨论】:

  • 你需要做什么??清除位
  • 仍在事件部分进行验证..如果验证为假,我可以存在于同一事件部分
  • 所以使用header函数
  • 您需要在$this-&gt;index(); 之后加载您的旧视图??
  • 如何使用header函数?

标签: php html codeigniter validation


【解决方案1】:

要重定向到 CI 中的锚点,您应该使用如下重定向功能:

redirect('/controller/function#anchor', 'refresh');

希望有帮助

【讨论】:

    【解决方案2】:
    if ( $this -> form_validation -> run() === FALSE )
        {
            header('Location: http://www.example.com/');//your controller name
    
        }
    

    Header Function

    if ( $this -> form_validation -> run() === FALSE )
        {
             redirect('/login/form/', 'refresh');//your controller name
    
        }
    

    Redirect

    【讨论】:

      【解决方案3】:

      codeigniter 重定向可以使用 url helper 中的 redirect 方法来实现。你可以这样使用

      redirect('/你的控制器/方法', 'refresh');

      其中“您的控制器”是包含用于添加新事件的视图页面的方法的控制器。而“方法”是加载视图的控制器内的方法名称。如需参考,请访问此链接 codeigniter url helper

      【讨论】:

        【解决方案4】:

        这就是你可以做到的。先加载URL helper,然后调用redirect()方法

        $this->load->helper('url');
        redirect(base_url().'controller/method', 'refresh');
        

        参考CodeIgniter Docs

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-12-12
          • 2022-07-11
          • 2014-06-09
          • 2017-11-01
          • 2017-01-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多