Foros del Web » Programando para Internet » Jquery »

POST no envia los parametros con Jquery y bootstrap

Estas en el tema de POST no envia los parametros con Jquery y bootstrap en el foro de Jquery en Foros del Web. Buenas tardes, Llevo varios dias intentando mandar un formulario bootstrap mediante POST con Jquery y cuando recibo los datos en el archivo PHP tienen valores ...
  #1 (permalink)  
Antiguo 02/07/2015, 10:50
 
Fecha de Ingreso: julio-2015
Mensajes: 1
Antigüedad: 9 años, 4 meses
Puntos: 0
POST no envia los parametros con Jquery y bootstrap

Buenas tardes,

Llevo varios dias intentando mandar un formulario bootstrap mediante POST con Jquery y cuando recibo los datos en el archivo PHP tienen valores nulos. En cambio si hago lo mismo por GET va perfecto.

El formulario lo muestro tambien con bootstrap.

FORMULARIO

Código:
<div id='new-users>' class='modal fade'>
        <div class='modal-dialog  modal-lg'>
            <div class='modal-content'>

                <div class='modal-header'>
                    <button type='button' class='close new-entity' data-dismiss='modal' aria-label='Close'>
                        <span aria-hidden='true'>×</span>
                    </button>
                    <h4 class='modal-title'>New user</h4>
                </div>

                <form id='new-<?php echo $entity ?>-form'>

                    <div class='modal-body'>

                        <fieldset>
                            <h4><p class='text-light-blue'>Personal Information</p></h4>
                            <div class='row'>
                                <div class='col-sm-6'>
                                    <div class='form-group'>
                                        <label for='username'>User name</label>
                                        <input class='form-control' id='username' name='username' type='text' />
                                    </div>
                                </div>
                                <div class='col-sm-6'>
                                    <div class='form-group'>
                                        <label for='password'>Password</label>
                                        <input class='form-control' id='password' name='password' type='password' />
                                    </div>
                                </div>
                            </div>
                            <div class='row'>
                                <div class='col-sm-12'>
                                    <div class='form-group'>
                                        <label for='fullname'>Full name</label>
                                        <input class='form-control' id='fullname' name='fullname' type='text' />
                                    </div>
                                </div>
                            </div>
                            <div class='row'>
                                <div class='col-sm-6'>
                                    <div class='form-group'>
                                        <label for='email'>Email</label>
                                        <input class='form-control required email' id='email' name='email' type='text' />
                                    </div>
                                </div>
                                <div class='col-sm-6'>
                                    <div class='form-group'>
                                        <label for='status'>Status</label>
                                        <div class='form-group'>
                                            <label class='radio-inline'> <input type='radio' name='status' id='status' value='1' checked> Enabled </label>
                                            <label class='radio-inline'> <input type='radio' name='status' id='status' value='0'> Disabled </label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </fieldset>

                        <fieldset>
                            <h4><p class='text-light-blue'>Other Information</p></h4>
                            <div class='row'>
                                <div class='col-sm-12'>
                                    <div class='form-group'>
                                        <label for='description'>Description</label>
                                        <textarea placeholder='Enter comments ...' rows='4' class='form-control' name='description' id='description'></textarea>
                                    </div>
                                </div>
                            </div>
                        </fieldset>
                    </div>

                </form>

                <div class='modal-footer'>
                    <div class='col-xs-12'>
                        <button class='btn btn-success pull-primary app-action-insert' data-entity='<?php  echo $entity ?>' data-action='insert' data-action-type='' data-value=''><i class='fa fa-save'></i> Save</button>
                        <button style='margin-right:5px' class='btn btn-danger pull-right' data-dismiss='modal'><i class='fa fa-times'></i> Cancel</button>
                    </div>
                </div>

            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
JQUERY

Código:
    function insertEntity(entity, action, actionType, value)
    {
        // Formato: users-insert.php
        var file = entity + '-insert.php';

        // Serializo los datos del formulario
        var data = $('#new-' + entity +'-form').serialize();

        $.ajax({
            method: 'POST',
            url: file,
            dataType: 'json',
            data: data,

            beforeSend: function () {
                //alert("Estoy en beforesend");
            },

            success: function (request) {
                $('#new-' + entity).modal('hide');
                console.log(request);
                // Cargo el contenedor con los datos encontrados
                if (request.status == 'ok'){
                    var container = '.' + entity + '-table';
                    $(container + ' tbody').append(request.content);
                    // Actualizo la lista poniendo el nuevo elemento al final
                }
                else {
                    // Si se ha producido un error lo muestro
                }
            },

            error: function (xhr, err) {
                // Notifico al usuario de que se ha borrado el registro correctamente
                var type ='error';
                var message = "readyState: " + xhr.readyState + "\nstatus: " + xhr.status + "\n \n responseText: " + xhr.responseText;
                alert(message);
            },

            complete: function (jqXHR, textStatus) {
                //alert("la funcion se completo con " + textStatus);
            }
        });
    }

CODIGO PHP

Código PHP:
<?php

    
include_once('core/init.php');

    
$entity 'users';

    
$status     '';
    
$message    '';
    
$content    '';

    
$username       $_REQUEST['username'];
    
$password       $_REQUEST['password'];
    
$email          $_REQUEST['email'];
    
$fullname       $_REQUEST['fullname'];
    
$description    $_REQUEST['description'];
    
$status         $_REQUEST['status'];

    
$user Users::create($username,$password,$email,$fullname,$description,$status);

    if (
$user == null)
    {
        
$status     'error';
        
$message    'Se ha producido un error al insertar los datos';
    }
    else
    {
        
$status     'ok';
        
$message    'Datos añadidos correctamente';
        
$content    "<tr>
                            <td>{$user->getId()}</td>
                            <td>{$user->getUserName()}</td>
                            <td>{$user->getEmail()}</td>
                            <td>{$user->getFullName()}</td>
                            <td>{$user->getStatus()}</td>
                            <td>{$user->getCreationDate()}</td>
                            <td>
                                <div class='pull-right'>
                                    <div class='btn-group'>
                                        <button data-id='{$user->getUserName()}' data-entity='{$entity}' type='button' class='btn btn-info action-edit'><i class='fa fa-pencil-square-o'></i> Edit</button>
                                        <button data-id='{$user->getUserName()}' data-entity='{$entity}' type='button' class='btn btn-danger action-delete'><i class='fa fa-trash-o'></i> Remove</button>
                                    </div>
                                </div>
                            </td>
                        </tr>"
;
    }

    
$salidaJSON = array ("status" => $status,
                        
"message" => $message,
                        
"content" => $content);

    echo 
json_encode($salidaJSON);

?>
Es un problema de bootstrap... me estoy volviendo loco tantas pruebas :(
  #2 (permalink)  
Antiguo 02/07/2015, 18:28
 
Fecha de Ingreso: julio-2015
Ubicación: Mexico
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: POST no envia los parametros con Jquery y bootstrap

Código HTML:
<button class='btn btn-success pull-primary app-action-insert'  type="submit"><i class='fa fa-save'></i> Save</button> 

Jquery
En vez de usar una funcion, utiliza $('#new-' + entity +'-form').on('submit',function(){ //aqui pon el ajax });

Etiquetas: bootstrap, envia, parametros, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:38.