Php 如果需要,请选中未标记复选框

Php 如果需要,请选中未标记复选框,php,ajax,checkbox,Php,Ajax,Checkbox,我正在用PHP做一个insert,用一个insert做一个AJAX。代码如下: <input type='checkbox' id="moralibro" name="moralibro" value="mora"> <script type="text/javascript"> $(document).ready(function() { $('.error').hide(); $(".eliminarp").click(function

我正在用PHP做一个insert,用一个insert做一个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>  
我尝试了
if(isset($\POST['moralibro'])
,但仍然使插入未选中复选框,同时使用
if($\POST['moralibro'])!=”)


不再放它,在某些AJAX中会受到影响?

$\u POST['moralibro']
将始终被设置,因为如果没有值,它将是
或空白字符串

更改此项:

if(isset($_POST['moralibro']))
为此:

if(!empty($_POST['moralibro']))
还有。我注意到您的
输入
的静态值为
“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()

提取该字符串。那么
$\u POST['moralibro']
的值是多少?(在php脚本中)您可以尝试:
if(isset($\u POST['moralibro'])和&!empty($\u POST['moralibro']))
检查值是否实际传递。如果未选中复选框,则有可能传递空值,这将使
isset()=>为true
if(isset($\u POST['moralibro'])&&&$\u POST['moralibro']==“mora”){/*…*/}
条件是如果未选中复选框,则不会执行插入操作,但如果执行了包含和探测,则删除该复选框“value=”诸如此类,请始终执行插入检查我的更新答案(您可能需要刷新您的页面)非常感谢,我工作得非常出色,格雷西亚斯!!太棒了。我很高兴我能提供帮助:)
var moralibro = "";
var $m_input = $("input#moralibro");
if ($m_input.is(":checked")) {
    moralibro = $m_input.val();
}
var dataString = 'id='+service + '&moralibro=' + moralibro ;