我有一个包含MySQL数据的表。每个数据都有一个编辑按钮。如果单击按钮之一,则会出现一个引导程序模式,其中包含所选行的当前数据。在模式中,我也有一个复选框。如果单击它,则会出现一些输入字段,可以在其中更新或在数据库中插入数据。如果当前行有数据,则当我单击“编辑”按钮时,隐藏字段已经出现。如果我取消选中该复选框,我想删除数据。我正在尝试将if(!isset($_POST["licensee"]))
放入PHP文件,但是它什么也没做。我该怎么解决?
<!-- Modal -->
<div id="companyModal" class="modal fade">
<div class="modal-dialog modal-lg">
<form method="post" id="company_form">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="col-md-10">
<b>Licensees </b><input type="checkbox" name="licensee" id="licensee"/>
</div>
<div id="hidden" class="form-group">
<input type="text" name="name" id="name">
</div>
<input class="action" type="hidden" name="company_id" id="company_id" />
<input class="action" type="hidden" name="btn_action" id="btn_action" />
<input type="submit" name="action" id="action" class="btn btn-info action" value="Add" />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function(){
// Hide field if unchecked, show if checked
$('[name=licensee]').click(function(){
if ($(this).is(":checked")) {
$("#hidden").show();
$("#name").attr("required", true);
} else {
$("#hidden").hide();
$("#name").attr("required", false);
}
});
$(document).on('click', '.update', function() {
var company_id = $(this).attr("id");
var btn_action = 'fetch_single';
$.ajax({
url:"company.php",
method:"POST",
data:{company_id:company_id, btn_action:btn_action},
dataType:"json",
success:function(data) {
$('#companyModal').modal('show');
$('#company_id').val(company_id);;
$('#btn_action').val('Edit');
// Check if input empty
var name = jQuery.trim($("#name").val());
if(name.length > 0) {
$('#licensee').prop('checked', true);
$("#hidden").show();
} else if(name.length === 0){
$("#hidden").hide();
$('#licensee').prop('checked', false);
}
}
});
});
)};
</script>
if(isset($_POST['btn_action'])) {
if($_POST['btn_action'] == 'Add') {
// Insert on Add
}
if($_POST['btn_action'] == 'fetch_single') {
// Fetch the company's current data on Edit
echo json_encode($output);
}
if($_POST['btn_action'] == 'Edit') {
// Update on Edit
}
}
// It's didn't work
if(!isset($_POST['licensee'])) {
echo '<script> alert("Success"); </script>';
}
答案 0 :(得分:1)
isset()在变量存在时返回TRUE,即使该变量的值为空。
您可以使用此:
<input type="checkbox" name="licensee" id="licensee" value="value1"/>
以及在PHP中(如果选中了复选框):
if ($_POST['licensee'] == 'value1'){}