我正在使用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中受到影响吗?
答案 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()