Verificar Checkbox esta sin marcar con if

  • Autor Autor iniciopublic
  • Fecha de inicio Fecha de inicio
iniciopublic

iniciopublic

Préstamo impago
1
Ómicron
Verificación en dos pasos activada
Suscripción a IA
Hola a todos tengo un problema

estoy realizando una inserción con php y ajax con una condición se ejecuta un insert

este es el código :
PHP:
<input type='checkbox' id="moralibro" name="moralibro" value="mora"> 

<script type="text/javascript"> 

$(document).ready(function() { 
    $('.error').hide(); 
    $(".eliminarp").click(function() { 
         
        //Obtenemos el valor del campo mora 
        var moralibro = $("input#moralibro").val(); 
        //Construimos la variable que se guardará en el data del Ajax para pasar al archivo php que procesará los datos 
            var parent = $(this).parent().attr('id'); 
        var service = $(this).parent().attr('data'); 
        var dataString = 'id='+service + '&moralibro=' + moralibro ; 
        $.ajax({ 
            type: "POST", 
            url: "eliminarprestamo.php", 
            data: dataString, 
            success: function() {             
                $('#delete-ok').empty(); 
                $('#delete-ok').append('<div class="correcto">El prestamo se a eliminado correctamente a id='+service+'.</div>').fadeIn("slow"); 
                $('#'+parent).fadeOut("slow"); 
                //$('#'+parent).remove(); 
            } 
        }); 
    $('#categoria-registrar')[0].reset(); 


        return false; 
    }); 
}); 


</script>


este es el archivo donde realiza el insert eliminarprestamo.php

PHP:
Código PHP:
if (isset($_POST['moralibro'])) 
{ 
 $query = "INSERT INTO multas_estudiante(cedula_estudiante)  
  VALUES ('12345')"; 
  $result = pg_query($query) or die('ERROR AL INSERTAR DATOS: ' . pg_last_error()); 
}

he intentado con if (isset($_POST['moralibro'])) pero igual realiza la insercion sin marcar el Checkbox , tambien con if($_POST['moralibro'] != "")

No se que mas poner , ¿afecta en algo el ajax?

Le agradezco sus respuestas
 
Última edición:
Con isset no te va a funcionar, porque le estas pasando la variable, entonces sí existe, creo que lo que te podría funcionar es en lugar de asignar a la variable moralibro el valor del checkbox, asignale si esta marcado o no, creo sería algo como:

PHP:
var moralibro = $("input#moralibro").is(':checked');

Y ya en el PHP solo haces una condición como:

PHP:
if ($_POST['moralibro']) {
} else {
}

Saludos.
 
Atrás
Arriba