如何在CodeIgniter的模板中组织代码?

时间:2018-06-06 20:16:31

标签: javascript php codeigniter templates

我真的不知道如何在CodeIgniter项目中组织我的代码。在一个视图中,我有一个表单,允许在提交后有信息。但信息显示在同一视图中。信息以多种方式显示(例如使用PHP或在控制器部分中使用Ajax和JSON编码)。

我的观点:

<form action="#" method="post">
 <p>Your name : <input type="text" name="name" /></p>
 <p><input type="submit" value="OK"></p>
</form>

我可以在视图中使用它来验证使用按下按钮是否提交?

if (isset($_POST['submit'])) {// the code I want to to show after submit}

单击提交按钮后我想显示的内容:

<select class="mylist">
    <?php foreach($groups as $each){ ?>
        <option value="<?php echo $each->groupname; ?>"><?php echo $each->groupname; ?></option>';
    <?php } ?>
</select>

  <table id="table" class="display" style="width:80%">
        <thead>
            <tr>
                <th>Name</th>
                <th>SurName</th>
                <th>ID</th>
            </tr>
        </thead>
        <tfoot>
            <tr> 
                <th>Name</th>
                <th>SurName</th>
                <th>ID</th>
            </tr>
        </tfoot>
</table>

控制器:

public function index()
{
    $this->load->view("myview.php");
}

public function getlist()
{
    $this->load->model('mymodel');
// Method to get the values of the list in the database

}
public function get_test_datatables()
{
// Method to fill the datatable part
echo json_encode($output);
}

JS Functions :

    $(document).ready( function () {
        $('#table').DataTable({
    //Get the data with ajax
    })

    )}

按下提交按钮后,我还要检查是否选中了复选框(如果在数据库中它等于true,我必须选中复选框,如果它等于false,我不会必须检查它)。我是否应该在视图中执行类似的操作:

if(checkbox->value == true)
{
<input type="checkbox" name="vehicle" value="Bike" checked> I have a bike<br>
}
else {
<input type="checkbox" name="vehicle" value="Bike"> I have a bike<br>
}

由于

1 个答案:

答案 0 :(得分:0)

在我的项目中,我总是通过ajax($ .post())发送数据,并将视图分成两个div:一个是列表,哪个是可见的,另一个是表单,是不可见的。 在列表部分,有一个按钮切换到窗体。 当我点击提交时,发送数据,如果成功,则显示成功消息并返回列表div。

HTML:

<div id="div-form" style="display: none;">
    <form>
     <p>Your name : <input type="text" name="name" /></p>
     <button type="button" id="save">OK</button>
     <button type="button" id="cancel">Cancel</button>
    </form>
</div>
<div id="div-list">
    <button type="button" id="add">Add</button>
    <select class="mylist">
        <?php foreach($groups as $each): ?>
            <option value="<?= $each->groupname; ?>">
                <?= $each->groupname; ?>
            </option>';
        <?php endif; ?>
    </select>

      <table id="table" class="display" style="width:80%">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>SurName</th>
                    <th>ID</th>
                </tr>
            </thead>
            <tfoot>
                <tr> 
                    <th>Name</th>
                    <th>SurName</th>
                    <th>ID</th>
                </tr>
            </tfoot>
    </table>
</div>

使用Javascript:

$(document).ready( function () {
    $(document).on('click', "#add", function() {
        $("#div-form").show();
        $("#div-list").hide();
    });

    $(document).on('click', "#save", function() {
        $.post('service_link', {
            name: $("#name").val()
        }, function(data) {
            $("#div-list").show();
            $("#div-form").hide();
            $('#table').DataTable().ajax.reload();
        }, 'json');
    });

    $(document).on('click', "#cancel", function() {
        $("#div-list").show();
        $("#div-form").hide();
    });

    $('#table').DataTable({
    //Get the data with ajax
    })
});