document.getElementById('content').focus();

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • agflem@yahoo.ca

    document.getElementById('content').focus();

    Why won't this work in Firefox:
    document.getEle mentById('conte nt').focus();
    Is there something else to use?

  • RobB

    #2
    Re: document.getEle mentById('conte nt').focus();

    agf...@yahoo.ca wrote:[color=blue]
    > Why won't this work in Firefox:
    > document.getEle mentById('conte nt').focus();
    > Is there something else to use?[/color]

    What's the context in which you're using it? Is 'content' an id rather
    than a name? Is this a form element?

    Comment

    • RobG

      #3
      Re: document.getEle mentById('conte nt').focus();

      agflem@yahoo.ca wrote:[color=blue]
      > Why won't this work in Firefox:
      > document.getEle mentById('conte nt').focus();
      > Is there something else to use?[/color]

      Advice above is good. If you are going to compare date strings, you
      must compose them yourself.

      var dtToday = Date()

      will create a new date object with a date/time of the instant it was
      created according to the settings of the user's local machine. This is
      likely not accurate or reliable, so you must validate on the server.
      Simply writing dtToday will create some string according to the
      settings of the local machine, which could be anything.

      Supposing txtDDate is the string "01/24/2005", then the equivalent date
      string constructed from dtToday will be given by the script below.
      Note that date & month less than "10" need a leading zero and that
      getFullYear() is not supported on all browsers, so you may need to use
      getYear and deal with it's eccentricities:


      <script type="text/javascript">
      function checkZero(a){
      return (a < 10)? "0" + a : a;
      }
      function todayDate() {
      var dtToday = new Date();
      var dtTodayString = checkZero(+dtTo day.getMonth()+ 1)
      + '/' + checkZero(dtTod ay.getDate())
      + '/' + dtToday.getFull Year();
      alert(dtTodaySt ring);
      }
      </script>
      <button onclick="todayD ate()">Click me</button>

      In regard to date formats, if users' aren't going to see them (or
      perhaps even if they are) the accepted international standard is
      ISO8601. Your date above would become 2005-01-24 or 2005/01/24. Read
      stuff on dates here:

      <URL:http://www.merlyn.demo n.co.uk/js-dates.htm>

      The format mm/dd/yyyy is peculiar to the US and is likely to be
      misinterpreted elsewhere in the world. ISO8601 dates should not be.

      I appologise for baddly formatted code, but Google Groups insists on
      removing all leading spaces, so there's not much I can do.

      Comment

      • Dr John Stockton

        #4
        Re: document.getEle mentById('conte nt').focus();

        JRS: In article <1106617519.664 339.15310@z14g2 000cwz.googlegr oups.com>,
        dated Mon, 24 Jan 2005 17:45:19, seen in news:comp.lang. javascript, RobG
        <rgqld@iinet.ne t.au> posted :[color=blue]
        >agflem@yahoo.c a wrote:[color=green]
        >> Why won't this work in Firefox:
        >> document.getEle mentById('conte nt').focus();
        >> Is there something else to use?[/color]
        >
        >Advice above is good.[/color]

        It does not look like advice; and your response appears unrelated.
        [color=blue]
        > If you are going to compare date strings, you
        >must compose them yourself.[/color]

        That is not a requirement. It is, for example, perfectly correct to
        compare for equality date strings in any fixed format; and to compare
        for order date strings in an ISO 8601 format. User input validation can
        easily ensure comparability.
        [color=blue]
        >var dtToday = Date()
        >
        >will create a new date object with a date/time of the instant it was
        >created according to the settings of the user's local machine.[/color]

        For me, it creates a string, according to typeof .
        [color=blue]
        > This is
        >likely not accurate or reliable, so you must validate on the server.
        >Simply writing dtToday will create some string according to the
        >settings of the local machine, which could be anything.[/color]

        In my system, it is unambiguous; its value may be incorrect.
        [color=blue]
        >Supposing txtDDate is the string "01/24/2005", then the equivalent date
        >string constructed from dtToday will be given by the script below.
        >Note that date & month less than "10" need a leading zero and that
        >getFullYear( ) is not supported on all browsers, so you may need to use
        >getYear and deal with it's eccentricities:[/color]

        Aha - a greengrocer !

        getYear()%100 is reliable, so those who expect to lose interest before
        AD2100 can often work with 2 year digits. I expect you have seen how
        getFullYear can be emulated using getTime and any getYear such that
        getYear()%100 is reliable.

        [color=blue]
        >function checkZero(a){
        >return (a < 10)? "0" + a : a;
        >}[/color]

        Not a well-named function. Note that it assumes a non-negative integer
        input, which is reasonable in this case. Also that it sometimes returns
        a string and sometimes a number (assuming input is number); that is
        usually harmless and harmless in this case - but if the intended format
        were YYYYMMDD[*] then the results would be quite different for
        day/month<10, as addition can occur.
        [*] For YYYYMMDD, (getFullYear()* 100+getMonth()+ 1)*100+getDate( ) is
        better.

        [color=blue]
        >function todayDate() {
        >var dtToday = new Date();
        >var dtTodayString = checkZero(+dtTo day.getMonth()+ 1)[/color]

        First + is superfluous.
        [color=blue]
        >+ '/' + checkZero(dtTod ay.getDate())
        >+ '/' + dtToday.getFull Year();
        >alert(dtTodayS tring);
        >}[/color]

        [color=blue]
        >I appologise for baddly formatted code, but Google Groups insists on
        >removing all leading spaces, so there's not much I can do.[/color]

        Don't use it, then. Example code NEEDS to be properly formatted. Find
        a competently-designed news system. Even Developersdex is, IIRC,
        better.

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

        Comment

        • agflem@yahoo.ca

          #5
          Re: document.getEle mentById('conte nt').focus();

          No, not a form element...rathe r a DIV

          <div id="" name="" contenteditable ></div>

          I need to be able to set focus on in order to paste into it...
          IE is fine ... FF ... not so much.

          Comment

          • Randy Webb

            #6
            Re: document.getEle mentById('conte nt').focus();

            agflem@yahoo.ca wrote:[color=blue]
            > No, not a form element...rathe r a DIV
            >
            > <div id="" name="" contenteditable ></div>
            >
            > I need to be able to set focus on in order to paste into it...
            > IE is fine ... FF ... not so much.
            >[/color]

            Thats because FF does not support "contenteditabl e" and as such does not
            support the concept of "focus" on it.

            --
            Randy
            comp.lang.javas cript FAQ - http://jibbering.com/faq

            Comment

            • agflem@yahoo.ca

              #7
              Re: document.getEle mentById('conte nt').focus();

              Any suggestions on how to get something like that to work in FF too?

              Comment

              Working...