繁体   English   中英

如何从模态PHP Codeigniter插入数据

[英]How to insert data from a modal PHP Codeigniter

我有一个要插入BD的模式形式(简单),但是没有得到预期的结果

modalview

这是调用我的模态的按钮:

  <button type='button' class='btn btn-info'  data-toggle="modal" data-target="#modal-default-cliente"><span class='fa fa-plus'></span></button>  

这是我的模态:

<div class="modal fade" id="modal-default-cliente">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">Agregar Usuario</h4>
            </div>
            <div class="modal-body">

         <form  method="POST" id="clienteform">

            <div class="form-group">
                <label for="nombrecompleto">Nombre Completo:</label>
                <input type="text" class="form-control" name="nombremodal" id="nombremodal" required="required">
            </div>

            <div class="form-group">
               <label for="telefono">Teléfono:</label>
               <input type="text" class="form-control" name="telefonomodal" id="telefonomodal">
            </div>

            <div class="form-group">
               <label for="direccion">Dirección:</label>
               <input type="text" class="form-control" name="direccionmodal" id="direccionmodal">
            </div>

                <div class="form-group">
                    <input type="submit" name="action" class="btn btn-success" value="Guardar">
                </div>
            </form>          

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary pull-right" data-dismiss="modal">Cerrar</button>
            </div>
        </div>            
    </div>        
</div>

这是我的Javascript代码,通过表单的参数到达

$(document).on("submit", "#clienteform", function(event){
    event.preventDefault();
    var nombre = $("#nombremodal").val();
    var telefono = $("#telefonomodal").val();
    var direccion = $("#direccionmodal").val();   

    $.ajax({
        url: base_url+"mantenimiento/Ventas/agregarClientemodal", 
        method:'POST',
        success: function(data){
                    alert(data);
                     $("#modal-default-cliente").modal("hide");
            }
    });

});

这是我在“ Ventas”控制器中的操作:

public function agregarClientemodal(){

        $data = array(
            'Nombre' => $this->input->post("nombremodal") ,
            'Telefono' => $this->input->post("telefonomodal"),
            'Direccion' => $this->input->post("direccionmodal"),
            'Estado' => "1"
             );

         $this->Ventas_model->agregarClientemodal($data);           

    }

最后是我在Sales模型中的功能:

 public function agregarUsuariomodal($data){

       return $this->db->insert("Clientes",$data);
    }

我是Codeigniter的新手,当我单击“保存”按钮时,模态窗口什么都不做

预期的行为:保存记录并隐藏模式

获得的行为:单击提交无济于事

我究竟做错了什么? 我需要验证什么? 对我有帮助吗?

希望这个能对您有所帮助 :

使用var formdata = $(this).serialize(); form post值与ajax的data一起传递 ,并使用site_url()作为URL

你的ajax应该是这样的:

$(document).ready(function(){
  $("#clienteform").on("submit", function(event){
    event.preventDefault();
    var formdata = $(this).serialize();
    $.ajax({
        url: '<?=site_url("mantenimiento/Ventas/agregarClientemodal");?>', 
        method:'POST',
        data : formdata,
        success: function(data)
        {
            alert(data);
            $("#modal-default-cliente").modal("hide");
        }
    });
  });
});

您的agregarClientemodal方法应如下所示:

public function agregarClientemodal()
{
    $data = array(
        'Nombre' => $this->input->post("nombremodal") ,
        'Telefono' => $this->input->post("telefonomodal"),
        'Direccion' => $this->input->post("direccionmodal"),
        'Estado' => "1"
         );

    $this->Ventas_model->agregarClientemodal($data);
    echo "success";
    exit;
}

您的base_url变量未在javascript / jquery中定义。

因此,您需要将该行更改为:

$.ajax({
    url: '<?php echo base_url("mantenimiento/Ventas/agregarClientemodal");?>', 
    method:'POST',
    success: function(data){
                alert(data);
                 $("#modal-default-cliente").modal("hide");
        }
});

它将生成正确的网址。

此外,您可以检查控制台以获取错误日志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM