Form Select - out of order....

Discussion in 'Javascript' started by david@scene-double.co.uk, Feb 2, 2005.

  1. Guest

    Hi,

    I have a form with 2 select objects which are not linked together in
    any way. The list exactly the same information.

    The code that generates the data is:

    _________________________________________

    <SCRIPT language='vbscript'>
    Sub Window_Onload
    Dim TheDate
    Dim Count
    Dim Options
    Dim Options2


    TheDate2 = Date + vbThursday - WeekDay(Date)
    TheDate = Date + vbTuesday - WeekDay(Date)


    If TheDate < Date Then TheDate = TheDate +7
    Set Options = Document.all.date.Options
    Set Options2 = Document.all.todate.Options

    For Count = 1 To 20-1
    StrDate = "Tuesday " & Right("0" & Day(TheDate),2) & "/" &
    Right("0" & Month(TheDate),2) & "/" & Year(TheDate)
    Options.Add Window.Option(StrDate,"from " & StrDate)
    Options2.Add Window.Option(StrDate,"to " & StrDate)
    TheDate = TheDate + 7

    StrDate2 = "Thursday " & Right("0" & Day(TheDate2),2) & "/" &
    Right("0" & Month(TheDate2),2) & "/" & Year(TheDate2)
    Options.Add Window.Option(StrDate2,"from " & StrDate2)
    Options2.Add Window.Option(StrDate2,"to " & StrDate2)
    TheDate2 = TheDate2 + 7
    Next
    End Sub

    </script>

    ______________________________________________

    The information is correct, except that every now and again the Tusdays
    & Thursdays are wrong way around depending on the current date, i.e.

    it should display:

    Thursday 03/02/2005
    Tuesday 08/02/2005

    looping continuously with Tuesdays & Thursdays in the correct date
    order.

    I seem to get

    Tuesday 08/02/2005
    Thursday 03/02/2005

    How can I correct this code so that no matter what the actual date is,
    the data is always in the correct order ?
    Appreciate your advice



    David.
     
    , Feb 2, 2005
    #1
    1. Advertising

  2. Lee Guest

    said:
    >
    >Hi,
    >
    >I have a form with 2 select objects which are not linked together in
    >any way. The list exactly the same information.
    >
    >The code that generates the data is:
    >
    >_________________________________________
    >
    ><SCRIPT language='vbscript'>


    >How can I correct this code so that no matter what the actual date is,
    >the data is always in the correct order ?
    >Appreciate your advice


    My advice is to ask in a vbscript group, rather than javascript.
    Sorry.
     
    Lee, Feb 2, 2005
    #2
    1. Advertising

  3. JRS: In article <>,
    dated Wed, 2 Feb 2005 08:03:35, seen in news:comp.lang.javascript,
    posted :

    >I have a form with 2 select objects which are not linked together in
    >any way.
    > The list exactly the same information.


    Meaning absent.

    >The code that generates the data is:
    >
    >_________________________________________
    >
    ><SCRIPT language='vbscript'>


    Doubly deprecated. Should be <script type="text/javascript"> here

    >Sub Window_Onload
    >Dim TheDate
    >Dim Count
    >Dim Options
    >Dim Options2
    >
    >
    >TheDate2 = Date + vbThursday - WeekDay(Date)
    >TheDate = Date + vbTuesday - WeekDay(Date)
    >
    >
    >If TheDate < Date Then TheDate = TheDate +7
    >Set Options = Document.all.date.Options
    >Set Options2 = Document.all.todate.Options
    >
    >For Count = 1 To 20-1
    >StrDate = "Tuesday " & Right("0" & Day(TheDate),2) & "/" &
    >Right("0" & Month(TheDate),2) & "/" & Year(TheDate)
    >Options.Add Window.Option(StrDate,"from " & StrDate)
    >Options2.Add Window.Option(StrDate,"to " & StrDate)
    >TheDate = TheDate + 7
    >
    >StrDate2 = "Thursday " & Right("0" & Day(TheDate2),2) & "/" &
    >Right("0" & Month(TheDate2),2) & "/" & Year(TheDate2)
    >Options.Add Window.Option(StrDate2,"from " & StrDate2)
    >Options2.Add Window.Option(StrDate2,"to " & StrDate2)
    >TheDate2 = TheDate2 + 7
    >Next
    >End Sub
    >
    ></script>
    >
    >______________________________________________
    >
    >The information is correct, except that every now and again the Tusdays
    >& Thursdays are wrong way around depending on the current date, i.e.
    >
    >it should display:
    >
    >Thursday 03/02/2005
    >Tuesday 08/02/2005
    >
    >looping continuously with Tuesdays & Thursdays in the correct date
    >order.
    >
    >I seem to get
    >
    >Tuesday 08/02/2005
    >Thursday 03/02/2005
    >
    >How can I correct this code so that no matter what the actual date is,
    >the data is always in the correct order ?
    >Appreciate your advice



    Code should be written and posted with indentation to show the intended
    structure.

    Lines should not be allowed to be broken by the posting agent; you
    should present us with code that can be read and tested directly, with
    only the original faults.


    For Right("0" & Day(TheDate2),2)
    Right(100+Day(TheDate2),2) ' is better, at least for me

    Date should be called only once; it is comparatively expensive, and can
    change.

    TheDate2 is not declared.

    Variable names should be short or meaningful, or both.

    My system does not believe document.all.date .

    You seem to be saying that the first two dates (among others) are in the
    wrong order. So don't bother us with the loop.

    The following "Web page" suffices to show us what is needed to be shown
    :-


    <SCRIPT language='vbscript'>

    Dim TheDate, TheDate2

    TheDate2 = Date + vbThursday - WeekDay(Date)
    TheDate = Date + vbTuesday - WeekDay(Date)

    If TheDate < Date Then TheDate = TheDate +7

    document.write TheDate, " ", TheDate2

    </script>


    The following transform is more illustrative :-


    <SCRIPT language='vbscript'>

    Dim Tue, Thu, Dt

    Dt = Date
    for J = 0 to 15
    D = Dt + J
    Thu = D + vbThursday - WeekDay(D)
    Tue = D + vbTuesday - WeekDay(D)

    If Tue < D Then Tue = Tue +7 ' ###

    document.write D, " - ", Thu, " - ", Tue, "<br>"
    next
    </script>

    and the line marked ### looks implausible;
    if Tue < Thu makes more sense



    Now


    <SCRIPT language='vbscript'>

    Dim Tue, Thu, Dt, SoW

    Dt = Date
    for J = 0 to 15
    D = Dt + J

    SoW = D - WeekDay(D)
    Thu = SoW + vbThursday
    Tue = SoW + vbTuesday
    If Tue < Thu Then Tue = Tue +7

    document.write D, " - ", Thu, " - ", Tue, "<br>"
    next
    </script>

    gives me

    2005-02-03 - 2005-02-03 - 2005-02-08
    2005-02-04 - 2005-02-03 - 2005-02-08
    2005-02-05 - 2005-02-03 - 2005-02-08
    2005-02-06 - 2005-02-10 - 2005-02-15
    2005-02-07 - 2005-02-10 - 2005-02-15
    2005-02-08 - 2005-02-10 - 2005-02-15
    2005-02-09 - 2005-02-10 - 2005-02-15
    2005-02-10 - 2005-02-10 - 2005-02-15
    2005-02-11 - 2005-02-10 - 2005-02-15
    2005-02-12 - 2005-02-10 - 2005-02-15
    2005-02-13 - 2005-02-17 - 2005-02-22
    2005-02-14 - 2005-02-17 - 2005-02-22
    2005-02-15 - 2005-02-17 - 2005-02-22
    2005-02-16 - 2005-02-17 - 2005-02-22
    2005-02-17 - 2005-02-17 - 2005-02-22
    2005-02-18 - 2005-02-17 - 2005-02-22



    You need to learn how to test misbehaving code - always simplify it,
    testing continually, until the solution is obvious (always keep the last
    failing version). Then, with the new understanding, the original can
    probably be fixed.

    --
    © John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ©
    <URL:http://www.jibbering.com/faq/> JL/RC: FAQ of news:comp.lang.javascript
    <URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
    <URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
     
    Dr John Stockton, Feb 3, 2005
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Soren Kuula
    Replies:
    2
    Views:
    545
    Soren Kuula
    Feb 1, 2004
  2. k3xji
    Replies:
    5
    Views:
    738
    Steven D'Aprano
    Sep 16, 2010
  3. Mike D
    Replies:
    1
    Views:
    192
    Aaron [SQL Server MVP]
    Mar 22, 2005
  4. palmiere
    Replies:
    1
    Views:
    473
    Erwin Moller
    Feb 9, 2004
  5. bbxrider
    Replies:
    63
    Views:
    793
    Gunnar Hjalmarsson
    Nov 18, 2003
Loading...

Share This Page