www.webdeveloper.com
Results 1 to 4 of 4

Thread: Help - Comparing Two Dates in Select Box

  1. #1
    Join Date
    Sep 2003
    Posts
    3

    Comparing Two Dates in Select Box - Problem Solved

    Hi, Please help me I am new at javascript.

    The problem:
    Compare and validate between two dates in a select field where End Date should always be greater than Start Date.
    For example
    1. Start Date 26/09/2003 when compare with End Date 26/07/2003 should return an error.

    Note: The Start Date could be any future Date. The requirement is that Start Date have to always be less than or
    equal to End Date. Else return and error.

    I have no problem validating the difference in year and date, but the month is not responding.

    The following is the code.
    checkForm.js
    /*********************/
    function compareTwoDate(startDate, endDate, startMonth, endMonth, startYear, endYear){

    if (endYear.value >= startYear.value && endMonth.value < startMonth.value){
    alert("Expiry Month must be greater than or equal to Start Month");
    return false;
    }
    else if (endYear.value >= startYear.value && endMonth.value >= startMonth.value){

    if (endDate.value < startDate.value){
    alert ("Expiry Date must be greater than or equal to Start Date");
    }
    else
    return true;
    }
    else
    alert("Expiry Year must be greater than or equal to Start Year");
    return true;

    }

    /*********************************/
    The above function is called within the date.html via check_form()
    date.html
    /********************************/
    <html>
    <head></head><body>

    <script language="JavaScript" src="checkForm.js"></script>
    <script language="JavaScript">
    function check_form()
    {
    var startdate = document.date_form.startdate ;
    var startmonth = document.date_form.startmonth;
    var startyear = document.date_form.startyear;
    var endDate = document.date_form.endDate ;
    var endMonth = document.date_form.endMonth;
    var endYear = document.date_form.endYear;

    ok = false;
    ok = (compareTwoDate (startday, endDay, startmonth, endMonth, startyear, endYear));

    if(ok)
    return true;
    else
    return false;
    }

    </script>
    <form name="date_form" onSubmit="return(check_form())";>
    Start Date
    <select name="startdate">
    <option value="01">01</option>
    <option value="02">02</option>
    <option value="03">03</option>
    <option value="04">04</option>
    <option value="05">05</option>
    <option value="06">06</option>
    <option value="07">07</option>
    <option value="08">08</option>
    <option value="09">09</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
    </select>
    <select name="startmonth">
    <option value="01"> January</option>
    <option value="02"> February</option>
    <option value="03"> March</option>
    <option value="04"> April</option>
    <option value="05"> May</option>
    <option value="06"> June</option>
    <option value="07"> July</option>
    <option value="08"> August</option>
    <option value="09"> September</option>
    <option value="10"> October</option>
    <option value="11"> November</option>
    <option value="12"> December</option>
    </select>
    <select name="startyear">
    <option value="2002"> 2002</option>
    <option value="2003"> 2003</option>
    <option value="2004"> 2004</option>
    <option value="2005"> 2005</option>
    </select>
    </p>
    <p>Expired Date
    <select name="endDate">
    <option value="01">01</option>
    <option value="02">02</option>
    <option value="03">03</option>
    <option value="04">04</option>
    <option value="05">05</option>
    <option value="06">06</option>
    <option value="07">07</option>
    <option value="08">08</option>
    <option value="09">09</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
    </select>
    <select name="endMonth">
    <option value="January"> January</option>
    <option value="February"> February</option>
    <option value="March"> March</option>
    <option value="April"> April</option>
    <option value="May"> May</option>
    <option value="June"> June</option>
    <option value="July"> July</option>
    <option value="August"> August</option>
    <option value="September"> September</option>
    <option value="October"> October</option>
    <option value="November"> November</option>
    <option value="December"> December</option>
    </select>
    <select name="endYear">
    <option value="2002"> 2002</option>
    <option value="2003"> 2003</option>
    <option value="2004"> 2004</option>
    <option value="2005"> 2005</option>
    </select>

    </form>

    </body>

    </html>
    Last edited by webbie2k; 09-25-2003 at 09:42 PM.

  2. #2
    Join Date
    Dec 2002
    Location
    Calgary, Canada
    Posts
    6,145
    Cheers

    Khalid

    Message Posting Guidelines In These Forums, Please read these before posting any question.
    Web site: webapplikations.com
    Web Resources Page:Web Resources

  3. #3
    Join Date
    Sep 2003
    Posts
    3
    Thanks for the link. Had a look at it already.

    Setting the field to current date is not a problem. It is done by this script

    <script type="text/javascript" language="javascript">
    function setDate() {
    var today = new Date();
    with (document.date_form) {
    startmonth.selectedIndex = today.getMonth();
    startdate.selectedIndex = today.getDate() - 1;
    var thisyear = today.getYear().toString();
    startyear.selectedIndex = thisyear.charAt(thisyear.length-1) - 2;
    endMonth.selectedIndex = today.getMonth();
    endDate.selectedIndex = today.getDate() - 1;
    var thisyear = today.getYear().toString();
    endYear.selectedIndex = thisyear.charAt(thisyear.length-1) - 2;

    }
    }
    </script>

    What I want is to compare the Start Month to End Month
    where if Start Year is = to End Year than
    Start Month have to be either = to less than End Month.

  4. #4
    Join Date
    Sep 2003
    Posts
    3

    It works now

    Just letting you know that it works now. I must be blind. The error is here endMonth is a string while startMonth is an integer.

    <select name="endMonth">
    <option value="January"> January</option>
    <option value="February"> February</option>
    <option value="March"> March</option>
    <option value="April"> April</option>
    <option value="May"> May</option>
    <option value="June"> June</option>
    <option value="July"> July</option>
    <option value="August"> August</option>
    <option value="September"> September</option>
    <option value="October"> October</option>
    <option value="November"> November</option>
    <option value="December"> December</option>
    </select>

    Correct format is
    <select name="endMonth">
    <option value="01"> January</option>
    <option value="02"> February</option>
    <option value="03"> March</option>
    <option value="04"> April</option>
    <option value="05"> May</option>
    <option value="06"> June</option>
    <option value="07"> July</option>
    <option value="08"> August</option>
    <option value="09"> September</option>
    <option value="10"> October</option>
    <option value="11"> November</option>
    <option value="12"> December</option>
    </select>

    Thanks all.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.18156 seconds
  • Memory Usage 2,882KB
  • Queries Executed 13 (?)
More Information
Template Usage (32):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (4)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates