我正在使用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" />
是否有人可以了解幕后发生的事情,这些事情迫使价值不被传递
答案 0 :(得分:0)
我认为你需要这样做
$('#numberOfHours').empty();
$('#numberOfHours').val($totalHours);
答案 1 :(得分:0)
我刚刚看到这个堆叠帖子:html disabled input text post form
readonly解决了这里的问题,因为由于禁用了属性而被设置为未设置。