PHP未检索JQuery更新的输入值


PHP not retrieving JQuery updated input value

我正在使用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属性,它被发送为未设置。