如何创建一个条件与日期的两个输入?

问题描述 投票:0回答:1

你能不能帮我与数据框的人?

我有两个数据框,我需要在PHP或JavaScript中创建一个条件,使date2字段总是高于date1。

如果该条件被违反,date2字段将被自动设置为与date1相同的日期。

<div class="form-group">
       <input type="date" class="form-control" onchange="vypocet();ubytko_single();ubytko_double();" onkeydown="return false" id="datumprijezdu" name="datumprijezdu" min="<?php echo (new DateTime())->format('Y-m-d'); ?>" value="<?php echo (new DateTime())->format('Y-m-d'); ?>">
       <label class="form-control-placeholder" for="datumprijezdu">Datum příjezdu</label>
     </div>
     <div class="form-group">
       <input type="date" class="form-control" onchange="DateCheck();vypocet();ubytko_single();ubytko_double();" onkeydown="return false" id="datumodjezdu" name="datumodjezdu" value="<?php echo (new DateTime('tomorrow'))->format('Y-m-d'); ?>" min="<?php echo (new DateTime('tomorrow'))->format('Y-m-d'); ?>">
       <label class="form-control-placeholder" for="datumodjezdu">Datum odjezdu</label>
     </div>

JS

function vypocet() {
const _MS_PER_DAY = 1000 * 60 * 60 * 24;

// a and b are javascript Date objects
function dateDiffInDays(a, b) {
  // Discard the time and time-zone information.
  const utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
  const utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());

  return Math.floor((utc2 - utc1) / _MS_PER_DAY);
}

// test it
var x = document.getElementById("datumprijezdu");
var datumprijezdu = x.value;
var y = document.getElementById("datumodjezdu");
var datumodjezdu = y.value;
const a = new Date(datumprijezdu);
    b = new Date(datumodjezdu),
    pocet_dnu = dateDiffInDays(a, b);
    document.getElementById("demo").innerHTML = pocet_dnu;
}

function ubytko_single() {
var ubytko_single_vysledek=0;
var ubytko_single_vysledek = pocet_dnu * 1980;
    document.getElementById("ubytko_single_vysledek").innerHTML = ubytko_single_vysledek + "CZK při možnosti single";
}

function ubytko_double() {
var ubytko_double_vysledek=0;
var ubytko_double_vysledek = pocet_dnu * 2260;
    document.getElementById("ubytko_double_vysledek").innerHTML = ubytko_double_vysledek + "CZK při možnosti double";
}

我试着在网上搜索了一下,但是找到的脚本对我没用。

javascript php html date input
1个回答
0
投票

这里有一个基本的实现,你可以使用。)

如果你有细节,我可以编辑我的答案。

var date1 = document.getElementById("date1");
var date2 = document.getElementById("date2");

function dateChecker()
{
  if (date1.valueAsDate > date2.valueAsDate)
  {
    
    date2.value = date1.value;
  } else
  {
    console.log("Dates are fine");
  }
}
<input type="date" id="date1">Date 1</input>
<br>
<input type="date" id="date2">Date 2</input>
<br>
<button id="submit" onClick="dateChecker()">Check Dates</button>
© www.soinside.com 2019 - 2024. All rights reserved.