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