when I calculate the difference between the start date and end date – it is possible for the end date to be entered as being “before” the start date – therefore allowing a negative calculation value in “totaldays”. )I have used the “min” to ensure that the start date cannot be “before today”. )
also, is it possible for “total_days” result (result of calculation) to be hidden until the calculation is complete – ie so that you do not see the long decimal value: such as -15489.916666666666
I have tried to complete this on my own, but have very very limited javascript / jquery knowledge. I would value any response. 🙂 Thank you
<title>Conference Form</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jqueryui.js"></script>
<link href="style.css" rel="stylesheet" type="text/css"/>
<link href="css/jqueryui.css" rel="stylesheet" type="text/css" />
<body>
<div id="wrapper">
<div id="header"></div>
<table width="705" border="1" align="left" cellpadding="1">
<form action="" method="get" name="myform">
<tr>
<td width="151"><label>Company Name</label></td>
<td width="158"><input type="text" name="companyname" id="companyname" /></td>
<td width="155">Enquiry Date</td>
<td width="213"><input type="text" name="enquiry_date" id="enquiry_date" class="datepicker" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Conference Date In</td>
<td><input type="text" name="conference_date_in" id="conference_date_in" class="datepicker" /></td>
<td>Conference Date Out</td>
<td><input type="text" name="conference_date_out" id="conference_date_out" class="datepicker" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Number of Delegates</td>
<td><input type="text" name="no_of_delegates" id="no_of_delegates" /></td>
<td>Total Days</td>
<td><input type="text" name="total_days" id="total_days" /></td>
</tr>
</form>
</table>
</div>
</body>
</html>
<script type="text/javascript">
$(function() {
$(".datepicker").datepicker({ minDate: -0, maxDate: "+100M +10D",dateFormat: 'dd-mm-yy'})
({
changeMonth: true,
changeYear: true,
});
});
var enquiry_date = $.datepicker.formatDate('dd-mm-yy', new Date());
document.getElementById('enquiry_date').value = enquiry_date;
var calcDate = function() {
var start = $('#conference_date_in').datepicker('getDate');
var end = $('#conference_date_out').datepicker('getDate');
var days = (end - start) / 1000 / 60 / 60 / 24;
document.getElementById('total_days').value = days;
}
$('#conference_date_out').change(calcDate);
$('#conference_date_in').change(calcDate);
</script>
just wrap your UI update in an if statement