如果是,请选中未标记的复选框

时间:2016-01-20 15:22:42

标签: php ajax checkbox

我正在使用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>  

这是insert eliminarprestamo.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中受到影响吗?

1 个答案:

答案 0 :(得分:1)

$_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()

可以选择该字符串。