Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Setting initial focus in html using Javascript - Pocket IE on Windows 2003 Pocket PC

Reply
Thread Tools

Setting initial focus in html using Javascript - Pocket IE on Windows 2003 Pocket PC

 
 
dsnyder
Guest
Posts: n/a
 
      04-12-2004
This HTML has a bit of Javascript at the end that puts the initial
focus on the userID field. It works great on Windows2000 running IE6,
but the initial focus never goes to the userID field on Windows 2003
PocketPC (Windows Mobile) running Pocket IE.

<html><head><title>WMS - P280WF100 - Login</title><META
HTTP-EQUIV='expires' VALUE='0'>
</head>
<body>
<form name="frmLogon" action='p280wp100' method='get'>
<table>
<tr>
<td>User ID</td>
<td>
<input id='userID' name='userID'
type='text'
maxlength=10
size=10
>

</input></td>
</tr>
<tr>
<td>Password</td>
<td>
<input id='password' name='password'
type='password'
maxlength=10
size=10
>

</input></td>
</tr>

<tr>
<td colspan=2><center><input type='submit' accesskey='L'
value='Login'></center></input></td>
</tr>
</table>
</form>

<hr>
<script language=javascript>
function window.onload(){window.frmLogon.userID.focus();}
</script>
</body></html>
 
Reply With Quote
 
 
 
 
Richard Cornford
Guest
Posts: n/a
 
      04-14-2004
dsnyder wrote:
> This HTML has a bit of Javascript at the end that puts the initial
> focus on the userID field. It works great on Windows2000 running IE6,
> but the initial focus never goes to the userID field on Windows 2003
> PocketPC (Windows Mobile) running Pocket IE.


I have only had one short opportunity to examine a Pocket IE but it was
rapidly obvious that it was not a cut down version of desktop IE (and
not surprisingly so, as desktop IE is enormous). It seems likely that
creating code to work on Pocket IE should be done following general
cross-browser coding principles, so avoiding IE-isms and avoiding any
reliance on the error correcting behaviour of desktop IE (best achieved
by validateing HTML source code).

<snip>
> <input id='userID' name='userID'
> type='text'
> maxlength=10
> size=10
> >

> </input></td>

^^^^^^^^
Input elements are empty, they do not have a closing tag.

<snip>
> ... <center><input type='submit' accesskey='L'
> value='Login'></center></input> ...


The DOM created for scripting from HTML has a tree-like structure, and
formally valid HTML also has a tree-like structure (allowing an easy
translation from HTML into a DOM). But above you have and opening CENTER
tag, and opening INPUT tag, a closing CENTER tag and then a closing
INPUT tag. The closing INPUT tag is invalid anyway (as I mentioned
above) but what is the browsers supposed to make of this strange
overlapping of elements? Desktop IE error-corrects it (it has no choice
as this is the sort of nonsense HTML that Microsoft Word outputs as a
matter of course), but I am told that 50% of desktop IE's code is
error-correcting and then will just not fit into Pocket IE.

<snip>
> <script language=javascript>


Valid HTML 4 requires that script elements have a type attribute,
rendering the language attribute redundant.

<script type="text/javascript">

> function window.onload(){window.frmLogon.userID.focus();}

<snip>

ECMA 262 (3rd edition) specifies a function declaration as having an
identifier as a function name, not a property accessor. This is another
IE-ism, and maybe Pocket IE does not understand it. Cross-browser code
would assign a function expression to the - window.onload - property.

Accessing named forms as properties of the global (window) object is not
cross-browser either. Accessing forms as named members of the -
document.forms - collection is the most widely (seemingly universally)
supported mechanism available on HTML browsers.

window.onload = function(){
document.forms['frmLogon'].elements['userID'].focus();
};

Richard.


 
Reply With Quote
 
 
 
 
David Snyder
Guest
Posts: n/a
 
      04-14-2004

Richard:

Thanks for the info. I found this bit of code on this web site:
http://www.htmlhelp.com/faq/html/all.html

<script type='text/javascript'><!--
document.frmLogon.userID.focus();
//--></script>

This seems to work in both of my environments and is closer to your
example than my original code. I'll try your example and see how it
goes.


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
emulating window.focus in Body onload() event and setting focus to a control on same page Jason ASP .Net 4 05-07-2007 05:54 PM
this.window.focus() vs. window.focus() vs. this.focus() Roger Javascript 3 03-08-2007 08:53 PM
Can I set initial focus from server-side into textbox? Kent P. Iler ASP .Net 4 05-04-2005 05:56 AM
setting initial focus to textbox Brian Henry ASP .Net 1 07-04-2004 06:15 PM
Setting Initial Focus on a Text Box Blake Versiga ASP .Net 1 07-03-2003 09:37 PM



Advertisments