Como enviar un valor entero de un RadioButtom a la base de datos

Publicado en 'Programación' por hioko, 17 Oct 2019.





  1. hioko

    hioko Miembro maestro

    Registro:
    20 Oct 2014
    Mensajes:
    891
    Likes:
    49
    Temas:
    102




    tengo un campo que es "int" y esta dirigido para el radiobuttom, pero no se como obtener un valor entero de un radiobuttom. En mi caso son 2 radiobuttom 1 seria para el "dolar" y el otro seria para "soles", me estaba preguntando y como imprimo el texto osea el "dolar" en una tabla si la base de datos me arroja un entero.

    Este es un ejemplo del guardar, pero no se como obtener el valor del radio buttom.
    Estoy usando struts2.

    function grabarDocente(){

    var json,cod,nom,pat,mat,sex,hij,sue,dir,dis;
    cod=$("#idCodigo").val();
    nom=$("#idNombre").val();
    pat=$("#idPaterno").val();
    mat=$("#idMaterno").val();
    sex=$("#idSexo").val();
    hij=$("#idHijos").val();
    sue=$("#idSueldo").val();
    dir=$("#idDireccion").val();
    dis=$("#idDistrito").val();
    json=JSON.stringify({codigo:cod,nombre:nom,paterno:pat,materno:mat,
    sexo:sex,numHijos:hij,sueldo:sue,direccion:dir,codigoDistrito:dis});
    swal({
    title: "Seguro de Guardar datos : ",
    text: "",
    icon: "warning",
    buttons: true,
    dangerMode: true,
    })
    .then((willSave) => {
    if (willSave) {
    $.ajax({
    url: 'guardarDocente',
    type: 'POST',
    data: {JSONDocente:json},
    success:function(data){
    if(data.dataMensaje==1){
    console.log(data);
    swal("Registro Guardado correctamente...","","success");
    tablaDocente();
    $("#idModalRegistra").modal("hide");
    $('#idRegistra').data('bootstrapValidator').resetForm(true);
    $('#idRegistra').trigger("reset");
    }
    else
    swal("Error al guardar el registro...","","error");
    },
    error: function (jqXhr) { // error callback
    swal("Error ...","","error");
    }
    })
    }
    })
    }
     


  2. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,247
    Likes:
    883
    Temas:
    75
    Estas usando jquery, solo jala el valor del radiobutton que esta con su atributo checked a true, el value tu se lo asignas cuando armas el html : 1,2,SOLES, USD,PEN,etc o como lo necesites en la bd.
     
  3. hioko

    hioko Miembro maestro

    Registro:
    20 Oct 2014
    Mensajes:
    891
    Likes:
    49
    Temas:
    102
    Ya lo hice, pero ahora intento validar que no se pueda ingresar el mismo dato.

    Solo me valida el primer campo, pero cuando coloco el siguiente nombre se registra. Algo mal estoy haciendo ?

    si ingreso "a" me valida, pero si ingreso "b"(ya existe en la base de datos) me deja insertar y eso no debe pasar.

    Código:
    function grabarHerramienta(){
        var json,nom,sto,mon,pre,fec,ser,tip;
      
        nom = $("#idNombre").val();
        sto = $("#idStock").val();
        mon = $("#idMoneda:checked").val();
        pre = $("#idPrecio").val();
        fec = $("#idFecha").val();
        ser = $("#idSerie").val();
        tip = $("#idTipo").val();
      
        json = JSON.stringify({
            nombre:nom,
            stock:sto,
            moneda:mon,
            precio:pre,
            fecha:fec,
            serie:ser,
            codTipoHerramienta:tip
        });
      
        $.getJSON("listarHerramientas",{}, function(response){
            $.each(response.listaHerramientas, function(index, item){
                if (item.nombre == nom){
                    return false;
                } else {
                    $.ajax({
                        url: 'guardarHerramienta',
                        type: 'POST',
                        data: {JSONHerramienta:json},
                        success:function(data){
                            if (data.dataMensaje == 1){
                                console.log(data);
                                mostrarHerramienta();
                                $("#exampleModal").modal("hide");
                            } else {
                                console.log("Error");
                            }
                        }
                    });
                    return false;
                }
              
            });
        });   
      
    }
     
  4. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,247
    Likes:
    883
    Temas:
    75
    - no uses selector de id para el radio, usa selector por name, fijate en el ejemplo del link figura el mismo name para dos radio buttons, pero distinto id.

    - no se de que validacion hablas ya que no muestras ningun codigo donde se valide algo .
     
  5. hioko

    hioko Miembro maestro

    Registro:
    20 Oct 2014
    Mensajes:
    891
    Likes:
    49
    Temas:
    102
    en el $.ajax, quiero que antes de enviar los datos me valide si ya existe ese dato.
     
  6. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,247
    Likes:
    883
    Temas:
    75
    Se mas especifico, dices dentro $.ajax ahi solo hay un if que pregunta por un campo del json de retorno de la llamada al server, que quieres validar? que tiene que ver con la moneda?? ....
     
  7. hioko

    hioko Miembro maestro

    Registro:
    20 Oct 2014
    Mensajes:
    891
    Likes:
    49
    Temas:
    102
    sobre la moneda, pude ingresar el dato a la base de datos, pero ahora solo intento validar datos repetidos. Osea cuando ingrese un mismo nombre que no me deje registrar.
     
  8. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,247
    Likes:
    883
    Temas:
    75
    Eso es a nivel server, lo puedes hacer con un indice unico del campo considerando mayusculas/minusculas si hay error de constraint(indice) devuelves un json con error .
     
  9. hioko

    hioko Miembro maestro

    Registro:
    20 Oct 2014
    Mensajes:
    891
    Likes:
    49
    Temas:
    102
    sabes como puedo obtener el error del mysql en java ?
     
  10. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,247
    Likes:
    883
    Temas:
    75
  11. hioko

    hioko Miembro maestro

    Registro:
    20 Oct 2014
    Mensajes:
    891
    Likes:
    49
    Temas:
    102
    Pero no podría validarlo con jquery ? llamando a lista y compararlo con el texto del formulario que ingreso ?