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?
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.
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.
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.
Comment