如果选中复选框,则获取当前日期或值

Get current date or value if checkbox is checked

提问人:labkes 提问时间:8/31/2023 最后编辑:nice_devlabkes 更新时间:8/31/2023 访问量:45

问:

我有日期类型和作业历史记录复选框的输入。每个仍在运行的工作周期都将选中复选框输入。如何将复选框值显示到输入表单并将其保存到数据库中?

表单输入

enter image description here

法典

<div class="form-group">
    <label for="recipient-name" class="col-form-label">Tanggal Akhir Kerja</label>
    <input type="date" class="form-control" name="f_tahunakhir" value="<?= set_value('f_tahunakhir');?>" autocomplete="off">
    <input type="checkbox" class="ui-datepicker-current" name="current_date"> Sampai dengan saat ini
</div>
php mysql codeigniter

评论


答:

0赞 Vigneshwaran 8/31/2023 #1

我认为您正在尝试使用日期输入和复选框来捕获作业历史记录信息,以指示作业是否仍在进行中。选中该复选框后,您希望将日期输入值设置为可以使用 HTML、JavaScript 和 PHP 实现的当前日期。

<div class="form-group">
    <label for="recipient-name" class="col-form-label">Tanggal Akhir Kerja</label>
    <input type="date" class="form-control" name="f_tahunakhir" id="f_tahunakhir" value="<?= set_value('f_tahunakhir');?>" autocomplete="off">
    <input type="checkbox" class="ui-datepicker-current" id="current_date" name="current_date" onchange="handleCheckboxChange()">
</div>

<script>
function handleCheckboxChange() {
    const dateInput = document.getElementById('f_tahunakhir');
    const checkbox = document.getElementById('current_date');
    
    if (checkbox.checked) {
        const currentDate = new Date().toISOString().substr(0, 10); // Format: YYYY-MM-DD
        dateInput.value = currentDate;
        dateInput.disabled = true; // Optionally, disable the date input when checkbox is checked
    } else {
        dateInput.value = ''; // Clear the input value
        dateInput.disabled = false; // Enable the date input
    }
}
</script>

评论

0赞 labkes 8/31/2023
谢谢@Vigneshwaran,它可以工作,但是当保存到数据库时,会出现这样的错误: