如果,请使用未标记的复选框选中此复选框


Check this with unmarked checkbox if

我正在用PHP和AJAX做一个插入。这是代码:

<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>  

这是插入消除器的文件.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());  
}  

我已经尝试了if (isset ($ _ POST ['moralibro']))但仍然取消选中复选框的插入,也带有if ($ _ POST ['moralibro']! = "")

不用再说了,在某些 AJAX 中受到影响吗?

始终设置$_POST['moralibro'],因为如果没有值,它将是""或空白字符串。

更改此设置:

if(isset($_POST['moralibro']))

对此:

if(!empty($_POST['moralibro']))

也。我注意到您的input的静态值为 "mora" .如果此值始终存在而不被删除,则插入将始终发生。您需要什么条件才能进行插入?


更新:

由于您说条件取决于复选框是否被选中,那么您需要在前端对此进行编码,因为您要发送 AJAX 调用。

这样做

的方法是这样的:

var moralibro = "";
var $m_input = $("input#moralibro");
if ($m_input.is(":checked")) {
    moralibro = $m_input.val();
}
var dataString = 'id='+service + '&moralibro=' + moralibro ;

完成此操作后,您将向PHP发送一个空白字符串或"mora",然后应该能够被empty()