我正在使用JQuery随时更新一个输入字段,该字段包含通过使用datetimepicker比较用户选择的两个日期而生成的总小时数。我的问题是在输入字段#numberOfHours
用这个函数的结果更新后:
$('#startForm').keyup(function () {
var start_actual_time = $('#datetimepicker').val();
var end_actual_time = $('#datetimepicker2').val();
$hourlyRate = $('#hourlyRate').val();
$fixedPrice = $('#fixedRate').val();
//CALCULATE TIME BETWEEN TWO DATES
start_actual_time = new Date(start_actual_time);
end_actual_time = new Date(end_actual_time);
var diff = end_actual_time - start_actual_time;
var diffSeconds = diff / 1000;
var HH = Math.floor(diffSeconds / 3600);
var MM = Math.floor(diffSeconds % 3600) / 60;
var formatted = ((HH < 10) ? ("0" + HH) : HH) + "." + ((MM < 10) ? ("0" + MM) : MM);
$totalHours = formatted;
$('#numberOfHours').val($totalHours); //this is getting updated but not passed on to the PHP insert page.
});
});
结果没有被传递到我的PHP页面,而是被发送为未设置。假设用户在提交表格之前,屏幕上的总小时数更新为500,我预计会返回500,但实际返回1。
$total_hours = isset($_POST["numberOfHours"]) ? $_POST["numberOfHours"] : '1';
numberOfHours html输入:
<input type="number" class="form-control" name="numberOfHours" id="numberOfHours" value="0" disabled="disabled" />
有人能说明幕后发生了什么,迫使值不能通过传递吗
我认为你需要做这个
$('#numberOfHours').empty();
$('#numberOfHours').val($totalHours);
我刚刚看到这个堆栈帖子:html禁用了的输入文本帖子
readonly解决了这里的问题,因为由于disabled属性,它被发送为未设置。