Solved

problem with dates

Posted on 2001-06-18
7
167 Views
Last Modified: 2013-12-18
hello experts,
  i put textbox and change the field properties as datetime.when i run this in notes client its working fine.the same when i run this on web calender type is not coming.i dont want to user should select the dates from the control not by typying manually. and one more thing is i want to calculate difference in dates.if it is greater than 21 days it should give message that diff should be less than 21 days.how to do this.is there any inbuilt control is there.


waiting for answer.
0
Comment
Question by:shaikhidayat
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 4

Expert Comment

by:sloeber
ID: 6201384
Shaikidayat,

You can't use the popup calendar screen on the web.
If you want to use a popup calendar tool for selecting dates, you must write it down in Java.


About the time difference.
Do you want the formula for calculating the difference or do you want the formula for the popup or both ?
When must it check the dates, on the moment the user enter a date or every day?
Do you have on your form two date fields, or do you have one time field and the other time field is today.

For showing a message screen on the web you use alert("text")

Greets,
Sloeber

0
 
LVL 4

Expert Comment

by:sloeber
ID: 6201660
This is the formula for calculating the days
<body>

<form name=exf1>
D1 <input name=d1 type=text value="01">
M1 <input name=m1 type=text value="01">
Y1 <input name=y1 type=text value="2000">
<BR>
D2 <input name=d2 type=text value="03">
M2 <input name=m2 type=text value="05">
Y2 <input name=y2 type=text value="2000">
<BR>
Delta Days <input type=text name=delta value="<?>">
<BR>
Business Days <input type=text name=bizdelta value="<?>">
<BR>
<input type=button onclick="compute()" value="compute!">
</form>
<script type=text/javascript>
function compute() {
  var date1 = new Date();
      date1.setYear  (document.exf1.y1.value);
       date1.setMonth (document.exf1.m1.value);
       date1.setDate  (document.exf1.d1.value);
  var date2 = new Date();
      date2.setYear  (document.exf1.y2.value);
       date2.setMonth (document.exf1.m2.value);
       date2.setDate  (document.exf1.d2.value);
  var delta = date1.getTime() - date2.getTime();
      delta = delta / ( 1000 * 60 * 60 * 24 ); // units are now days.
      if (delta < 0) delta = -delta;
       delta = Math.round(delta);
       
         
  document.exf1.delta.value = delta;
     if (delta > 21) alert("Data difference should be less then 21 days")
         

}
</script>


0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Accepted Solution

by:
sloeber earned 30 total points
ID: 6201665
This is the formula for calculating the days
<body>

<form name=exf1>
D1 <input name=d1 type=text value="01">
M1 <input name=m1 type=text value="01">
Y1 <input name=y1 type=text value="2000">
<BR>
D2 <input name=d2 type=text value="03">
M2 <input name=m2 type=text value="05">
Y2 <input name=y2 type=text value="2000">
<BR>
Delta Days <input type=text name=delta value="<?>">
<BR>
Business Days <input type=text name=bizdelta value="<?>">
<BR>
<input type=button onclick="compute()" value="compute!">
</form>
<script type=text/javascript>
function compute() {
  var date1 = new Date();
      date1.setYear  (document.exf1.y1.value);
       date1.setMonth (document.exf1.m1.value);
       date1.setDate  (document.exf1.d1.value);
  var date2 = new Date();
      date2.setYear  (document.exf1.y2.value);
       date2.setMonth (document.exf1.m2.value);
       date2.setDate  (document.exf1.d2.value);
  var delta = date1.getTime() - date2.getTime();
      delta = delta / ( 1000 * 60 * 60 * 24 ); // units are now days.
      if (delta < 0) delta = -delta;
       delta = Math.round(delta);
       
         
  document.exf1.delta.value = delta;
     if (delta > 21) alert("Data difference should be less then 21 days")
         

}
</script>


0
 

Author Comment

by:shaikhidayat
ID: 6201832
hai  sloeber,
   thanks for sending me very fast reply.one of solutions what u send is working means the datepicker control is working fine on the web.
  the other to calculate the differnce i cut the code and put one
button  onclick  javascript

i paste the code.but i am getting syntax error the curson is at <body> .

so what i have to do.

i want to calculate the difference between the two date fields  from which i select from the datepick code.
i think u might have understand my problem.

0
 
LVL 8

Expert Comment

by:Jean Marie Geeraerts
ID: 6205462
Hello,
Put the following JavaScript code in the onSubmit event of your form :

  var date1 = new Date();
  date1.setYear(document.forms[0].year1.value);
  date1.setMonth(document.forms[0].month1.value);
  date1.setDate(document.forms[0].day1.value);

  var date2 = new Date();
  date2.setYear(document.forms[0].year2.value);
  date2.setMonth(document.forms[0].month2.value);
  date2.setDate(document.forms[0].day2.value);
 
  var delta = date1.getTime() - date2.getTime();
  delta = delta / ( 1000 * 60 * 60 * 24 ); // units are now days.
  if (delta < 0) delta = -delta;
  delta = Math.round(delta);
  if (delta > 21)
    {
     alert("Difference is more than 21 days!");
     return false;
    }
  else
     return true;

This code supposes the following :
On your form you have seperate fields for day, month and year to enter the dates :
Date 1 is build from year1, month1 and day1 fields.
Date 2 is build from year2, month2 and day2 fields.
If the check fails an error message is displayed and the form is not submited. If the check is OK, the form is submitted.

If you have your dates in one field, you need to substract the seperate parts of the date from that field using the substring method in JavaScript.
If you need help with this, I can give you the code, but you need to specify how dates are entered in your form. (dd/mm/yyyy or mm/dd/yyyy or any other way?)
0
 
LVL 1

Expert Comment

by:anuu
ID: 6215054
Hi,

Regarding the error,
it appears as though it is an error due to js or the HTML used... Include all js functions that you would like to use in the <Head> tag.

anu
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is an old article, please see an updated version of this article, located here: http://www.experts-exchange.com/articles/23619/Notes-8-5x-Windows-7-Notes-info-and-tips.html
You’ve got a lotus Domino web server, and you have been told that “leverage browser caching” is a must do. This means that we have to tell the browser everywhere in the web to use cache. In other words, we set (and send) an expiration date in the HT…
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question