El jQuery:
Código Javascript:
Ver original
$('#frmNuevoGrupo').submit(function(e) { e.preventDefault(); }).validate({ rules: { txtNombre: { required: true }, txtDescripcion: { required: true }, txtImagenGrupo: { required: true } }, messages: { txtNombre: { required: 'Debe escribir el nombre del grupo.' }, txtDescripcion: { required: 'Debe escribir la descripción del grupo.' }, txtImagenGrupo: { required: 'No se seleccionó ninguna imagen.' } }, submitHandler: function(form) { var url = $('#frmNuevoGrupo').attr('action'); var met = $('#frmNuevoGrupo').attr('method'); var msg = $('#mensaje'); var mdl = $('#mdlNuevoGrupo'); var formData = new FormData($("#frmNuevoGrupo")[0]); $.ajax({ url: url, type: met, data: formData, cache: false, contentType: false, processData: false, success: function(data) { var opt = data.split('|'); if (opt[1] == '1') { msg.removeClass('mensaje-good').addClass('mensaje-error'); } else { msg.removeClass('mensaje-error').addClass('mensaje-good'); } msg.html(opt[0]); msg.fadeIn('medium').delay(2000).fadeOut('medium', function() { $('#tblGrupos tbody').load(base_url + 'admin/grupos/cargarGrupos'); $('#frmNuevoGrupo input').val(''); $('#frmNuevoGrupo textarea').val(''); mdl.modal('hide'); }); } }); } });
El controlador:
Código PHP:
Ver original
public function guardarGrupo() { $config = [ "upload_path" => './images/grupos', "allowed_types" => 'jpg' ]; $this->load->library("upload", $config); if ($this->upload->do_upload("txtImagenGrupo")) { $nom = $this->input->post('txtNombre'); $des = $this->input->post('txtDescripcion'); $img = $data["upload_data"]["file_name"]; $res = $this->Grupos_model->guardarGrupo($nom, $des, $img); if ($res === 'M') { $msg = 'El grupo ya existe en nuestra base de datos.|1'; } elseif ($res === false) { $msg = 'El grupo no pudo ser guardado.|1'; } else { $msg = 'El grupo fue guardado con éxito.|0'; } } else { $msg = $this->upload->display_errors() . '|1'; } echo $msg; }
El modelo:
Código PHP:
Ver original
public function guardarGrupo($nom, $des, $img) { $this->db->where('nombre', $nom); $q = $this->db->get('grupos'); if ($q->num_rows() > 0) { return 'M'; } else { 'nombre' => $nom, 'descripcion' => $des, 'imagen' => $ima ); $q2 = $this->db->insert('grupos', $data); if ($q2) { return true; } else { return false; } } }
Espero que me puedan ayudar. Gracias.