File "picker04.html"
Full Path: /home/analogde/www/Design/fileman/Fusion/Picker/picker04.html
File size: 12.47 KB
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html>
<html>
<!--
https://stackoverflow.com/questions/50168233/date-picker-start-date-end-date-query
https://laracasts.com/discuss/channels/general-discussion/how-to-get-end-date-from-start-date-and-days-using-jquery-ui-datepicker
https://www.plus2net.com/jquery/msg-demo/date-picker-range.php
https://jqueryui.com/datepicker/#date-range
https://makitweb.com/jquery-datepicker-to-filter-records-with-php-mysql/
https://makitweb.com/jquery-datepicker-to-filter-records-with-php-mysql/
https://stackoverflow.com/questions/1917576/how-do-i-pass-javascript-variables-to-php
https://www.geminitutorials.com/php-and-javascript-exchange-variables/
https://www.wikihow.com/Pass-Variables-from-Javascript-to-PHP
https://www.davidangulo.xyz/posts/how-to-pass-value-from-javascript-to-php/
https://stackoverflow.com/questions/7609130/set-the-default-value-of-an-input-field
https://www.w3docs.com/snippets/php/passing-multiple-variables-to-another-page-in-url.html
-->
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
<script>
var year_tab = ["2024", "2025"]
var jours_feries = [];
construction_jours_feries_fixe(year_tab);
console.log(jours_feries);
calcul_jours_feries(year_tab)
console.log( jours_feries );
/*************************************************************/
function construction_jours_feries_fixe(year_tab)
{
for (let i = 0; i < year_tab.length; i++)
{
var nouvel_an = "01-01-" + year_tab[i];
var fete_du_travail = "05-01-" + year_tab[i];
var victoire_1945 = "05-08-" + year_tab[i];
var fete_nationale = "07-14-" + year_tab[i];
var assomption = "08-15-" + year_tab[i];
var toussaint = "11-01-" + year_tab[i];
var armistice = "11-11-" + year_tab[i];
var noel = "12-25-" + year_tab[i];
jours_feries.push( nouvel_an, fete_du_travail, victoire_1945 , fete_nationale, assomption, toussaint, armistice, noel );
}
}
/*************************************************************/
function calcul_jours_feries(year_tab)
{
for (let i = 0; i < year_tab.length; i++)
{
let month=calcul_date_jour_paques(year_tab[i])[0];
let day=calcul_date_jour_paques(year_tab[i])[1];
//document.getElementById('result').innerHTML="<h3>The easter date is: </h3><center><h2 class='text-primary'>"+m[month-1]+" "+day+", "+year+"</h2></center>";
var lundi_paques = new Date(year_tab[i], month-1, day+1);
var ascension = new Date(year_tab[i], month-1, day+39);
var pentecote = new Date(year_tab[i], month-1, day+49);
var lundi_pentecote = new Date(year_tab[i], month-1, day+50);
jours_feries.push( format_jour_mois(lundi_paques), format_jour_mois(ascension), format_jour_mois(pentecote) , format_jour_mois(lundi_pentecote) );
}
}
/************************************************************/
function format_jour_mois(element)
{
let mm = element.getMonth() + 1; // month is zero-based
let dd = element.getDate();
let yyyy = element.getFullYear();
if (dd < 10) dd = '0' + dd;
if (mm < 10) mm = '0' + mm;
const formatted = mm + '-' + dd + '-' + yyyy;
return(formatted);
}
/*************************************************************/
function calcul_date_jour_paques(year)
{
let f = Math.floor;
let G = year % 19;
let C = f(year / 100);
let H = (C - f(C / 4) - f((8 * C + 13)/25) + 19 * G + 15) % 30;
let I = H - f(H/28) * (1 - f(29/(H + 1)) * f((21-G)/11));
let J = (year + f(year / 4) + I + 2 - C + f(C / 4)) % 7;
let L = I - J;
let month = 3 + f((L + 40)/44);
let day = L + 28 - 31 * f(month / 4);
return [month,day];
}
/*************************************************************/
function disableDates(date)
{
var dt = $.datepicker.formatDate('mm-dd-yy', date);
var noWeekend = jQuery.datepicker.noWeekends(date);
return noWeekend[0] ? (($.inArray(dt, jours_feries) < 0) ? [true] : [false]) : noWeekend;
}
/************************************************************/
function operating(selectedDate)
{
var day = selectedDate.getDate();
var month = selectedDate.getMonth();
month = month + 1;
var year = selectedDate.getFullYear();
if( day < 10)
{
day = "0" + day;
}
if( month < 10)
{
month = "0" + month;
}
return(day + "-" + month + "-" + year);
}
/************************************************************/
$( function() {
var startDate;
var endDate;
$( "#datepicker_date_start" ).datepicker( {
beforeShowDay: disableDates,
dateFormat: 'dd-mm-yy',
monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'],
dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'],
dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
showWeek: true,
weekHeader: 'Sem.'
} );
$.datepicker.setDefaults( $.datepicker.regional[ "fr" ] );
$( "#datepicker_date_end" ).datepicker( {
beforeShowDay: disableDates,
dateFormat: 'dd-mm-yy',
monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'],
dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'],
dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
showWeek: true,
weekHeader: 'Sem.'
} );
$.datepicker.setDefaults( $.datepicker.regional[ "fr" ] );
///////
$('#datepicker_date_start').change(function()
{
startDate = $(this).datepicker('getDate');
$("#datepicker_date_end").datepicker("option", "minDate", startDate );
})
///////
$('#datepicker_date_end').change(function()
{
endDate = $(this).datepicker('getDate');
document.getElementById("btn_action").disabled = false;
document.getElementById("submit").disabled = false;
document.getElementById("date_start").value = operating(startDate);
document.getElementById("date_end").value = operating(endDate)
$("#datepicker_date_start").datepicker("option", "maxDate", endDate );
})
} );
/************************************************************/
/*
function send()
{
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
/*
var PageToSendTo = "nowitworks.php?";
var MyVariable = "variableData";
var VariablePlaceholder = "variableName=";
var UrlToSend = PageToSendTo + VariablePlaceholder + MyVariable;
xmlhttp.open("GET", UrlToSend, false);
xmlhttp.send();*/
/*
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("message").innerHTML=xmlhttp.responseText;
}
}
var selectedDate = $( "#date_picker1" ).datepicker("getDate");
var date_start = operating(selectedDate);
selectedDate = $( "#date_picker2" ).datepicker("getDate");
var date_end = operating(selectedDate);
console.log(date_start + " " + date_end);
//var winW = 630, winH = 460;
//var queryString = "?width=" + winW + "&height=" + winH;
// 1 seul champ
//var queryString = "?date_start=" + date_start;
// plusieurs champ
var queryString = "?date_start=" + date_start + "&date_end=" + date_end;
xmlhttp.open("GET","passage.php"+queryString,true);
xmlhttp.send();
}
*/
/*function myFunction()
{
dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var selectedDate = $( "#date_picker1" ).datepicker("getDate");
console.log(selectedDate);
//alert(selectedDate);
/* get the array of day names and month names from the date picker */
// var dayNames = $('#datePicker').datepicker('option', 'dayNames');
/* default dayNames can be accessed using $.datepicker._defaults.dayNames; */
// var monthNames = $('#datePicker').datepicker('option', 'monthNames');
/* default monthNames can be accessed using $.datepicker._defaults.monthNames; */
/* assign are vars */
// var date = selectedDate.getDate();
// var day = dayNames[selectedDate.getDay()]; // taking the day name from the array of day names
// var month = monthNames[selectedDate.getMonth()]; // taking the month name from the array of month names
/* var day = selectedDate.getDate();
var month = selectedDate.getMonth();
month = month + 1;
var year = selectedDate.getFullYear();
if( day < 10)
{
day = "0" + day;
}
if( month < 10)
{
month = "0" + month;
}
alert(day + "-" + month + "-" + year);
//window.open("https://www.w3schools.com");
}
*/
$(function()
{
///////
var startDate;
var endDate;
$( "#date_picker1" ).datepicker({
dateFormat: 'dd-mm-yy'
})
///////
///////
$( "#date_picker2" ).datepicker({
dateFormat: 'dd-mm-yy'
});
///////
$('#date_picker1').change(function() {
startDate = $(this).datepicker('getDate');
$("#date_picker2").datepicker("option", "minDate", startDate );
})
///////
$('#date_picker2').change(function()
{
endDate = $(this).datepicker('getDate');
document.getElementById("btn_action").disabled = false;
//////
document.getElementById("submit").disabled = false;
document.getElementById("date_start").value = operating(startDate);
document.getElementById("date_end").value = operating(endDate)
$("#date_picker1").datepicker("option", "maxDate", endDate );
})
////////////////
})
</script>
<script>
function showResult(str)
{
if (str.length==0)
{
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (this.readyState==4 && this.status==200)
{
document.getElementById("livesearch").innerHTML=this.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","livesearch.php?q="+str,true);
xmlhttp.send();
}
</script>
<body>
<h1>Double calendrier</h1>
<p>Blabla.....................</p>
<div class="col-md-2">Date: Start Date <br> <input type="text" id="date_picker1" size=9></div>
<div class="col-md-2">Date: End Date <br> <input type="text" id="date_picker2" size=9></div>
<!--
<button onclick="myFunction()">Try it</button>
-->
<!--
<button onclick="send()">Request ...</button>
-->
<button id = "btn_action" onclick="toto()" disabled >Request ...</button>
<p id="message">A voir </p>
<form method="post" name="form" action="destination02.php">
<!--
<input type="text" placeholder="Enter Data" name="data">
-->
<input type="hidden" id="date_start" name="date_start" >
<input type="hidden" id="date_end" name="date_end" >
<!--
<input type="hidden" id="table" name="table" >
-->
<input type="text" id="champ_table" name="champ_table" onkeyup="showResult(this.value)">
<!--
<input id = "submit " type="submit" value="Submit" disabled >
-->
<input id="submit" name="submit" type="submit" disabled="disabled">
</form>
<!--
<form method="POST">
<input type="submit" value="Sumbit my choice"/>
</form>
-->
<p>Date: <input type="text" id="datepicker_date_start"></p>
<br>
<p>Date: <input type="text" id="datepicker_date_end"></p>
</body>
</html>
<!--
https://www.tbs.fr/fr/chemise-homme-manches-courtes-micro-motif-bleu-marine-7927778.html
https://www.tbs.fr/fr/chemise-homme-a-motif-marine-5978963.html
https://www.tbs.fr/fr/chemise-homme-manches-courtes-coton/lin-bleu-9804792.html
-->