CodeIgniter:嵌套视图中的表单操作

CodeIgniter: form action in nested view

我对 codeigniter 和表单有点问题。

我正在从事一个安全非常重要的项目。我使用 codeigniter 和 bootstrap。 我有主视图,其中包括导航栏和其他一些 html。在该主视图中,我有 <div id="change">,我正在通过按钮组进行更改。使用这些按钮,我在包含 $this->load->view('pages/something', $data); 的控制器中调用函数 当我按下其中一个按钮时,<div id="change"> 被更改,并且在其中显示一个视图并且 link 没有更改,所以主视图保持原样。 但是当按下其中一个按钮时,将显示带有表单的视图。我在其中使用 form_open('controller/function', $attributes);。 问题是,当我提交此表单时,link 已更改并且主视图不再显示在屏幕上。

我怎样才能实现,当我提交表单时,所有将被更改的只是 <div id="change"> 而不是整个网站。

我知道我英语不好,对不起。我感谢任何帮助。 谢谢!

您想刷新页面的一部分而不是整个页面?也许你需要 AJAX.

另外,要使 link 不变,您必须更改

config/routes.php

像这样:

$routes['controller/method'] = "your link";

阅读this.

希望对您有所帮助

您可以使用 AJAX 提交表单,这是使用 jQuery 的基本示例:

// this is the id of the form
$("#idForm").submit(function() {

    var url = "path/to/your/script"; // the script where you handle the form input.

    $.ajax({
        type: "POST",
        url: url,
        data: $("#idForm").serialize(), // serializes the form's elements.
        success: function(data) {
             // 'data' is the response from the php script.
             // Update <div id="change"> here.
        }
    });

    return false; // avoid to execute the actual submit of the form. (This stops the URL changing).
});

示例修改自 this answer