self.focus stopping all keyboard input to window

Discussion in 'Javascript' started by Mark, Nov 17, 2004.

  1. Mark

    Mark Guest

    Hi,

    At the top of my php file I have got :-

    <body onblur="self.focus();">

    so when I click off onto another window, my window comes back up in front
    which is perfect. The problem however, is that when I try to type into my
    form boxes, the key transfers are all being lost (i.e. keyboard is
    disabled)!

    Can anyone shed any light?


    Thanks, Mark
    Mark, Nov 17, 2004
    #1
    1. Advertising

  2. Mark

    Mark Guest

    "Andrew Thompson" <> wrote in message
    news:...
    > On Wed, 17 Nov 2004 20:34:41 GMT, Mark wrote:
    >
    >> Can anyone shed any light?

    >
    > 'Let there be focus'
    >
    > Translation: Stop stuffing with the focus in the first place.
    >


    Er....say again?


    Thanks, Mark
    Mark, Nov 17, 2004
    #2
    1. Advertising

  3. Mark

    DU Guest

    Mark wrote:
    > Hi,
    >
    > At the top of my php file I have got :-
    >
    > <body onblur="self.focus();">
    >
    > so when I click off onto another window, my window comes back up in front
    > which is perfect. The problem however, is that when I try to type into my
    > form boxes, the key transfers are all being lost (i.e. keyboard is
    > disabled)!
    >
    > Can anyone shed any light?
    >
    >


    Maybe you can shed more light on the whole context. Is that a secondary
    window? Why do you need to make that window always up in front of other
    windows? Can you elaborate on the analysis, webpage context, design
    decision? You maybe trying to find a correct/exact solution to a
    bad/wrong design decision.

    You understand that making a window get the focus like you do is very
    restrictive, very constraining, very user-unfriendly. That's why browser
    manufacturers (Opera, Mozilla for starters; don't know about Konqueror,
    Safari) are now granting users absolute veto powers over raising and
    lowering (against pop-under) windows.

    DU
    --
    The site said to use Internet Explorer 5 or better... so I switched to
    Mozilla 1.7.3 :)
    DU, Nov 17, 2004
    #3
  4. Mark

    Mark Guest

    "DU" <> wrote in message
    news:...
    > Mark wrote:
    >> Hi,
    >>
    >> At the top of my php file I have got :-
    >>
    >> <body onblur="self.focus();">
    >>
    >> so when I click off onto another window, my window comes back up in front
    >> which is perfect. The problem however, is that when I try to type into my
    >> form boxes, the key transfers are all being lost (i.e. keyboard is
    >> disabled)!
    >>
    >> Can anyone shed any light?


    Hi Du,

    > Maybe you can shed more light on the whole context. Is that a secondary
    > window? Why do you need to make that window always up in front of other
    > windows? Can you elaborate on the analysis, webpage context, design
    > decision? You maybe trying to find a correct/exact solution to a bad/wrong
    > design decision.


    It is for a personal-use script. The program does a 'window.open' to display
    a page
    which shows current horse-prices. The main window then goes to Betfair. I
    then need
    to be able to navigate the betfair website, without my 'information' window
    disappearing,
    so that I may compare prices.

    I agree it may not be the best way to do things, but I was told it would be
    the simplest :-}
    Basically, I need some code which makes sure my window is always at the
    front of the
    betfair window. I do not care whether its java, win32, PHP or ASP as long as
    it gets the
    job done :)

    Any help would be appreciated.


    Thanks, Mark
    Mark, Nov 17, 2004
    #4
  5. Mark

    Mark Guest

    "Andrew Thompson" <> wrote in message
    news:14muanibzbxvt$...
    > On Wed, 17 Nov 2004 21:01:21 GMT, Mark wrote:
    >
    >> "Andrew Thompson" <> wrote in message

    >
    >>> On Wed, 17 Nov 2004 20:34:41 GMT, Mark wrote:
    >>>
    >>>> Can anyone shed any light?
    >>>
    >>> 'Let there be focus'
    >>>
    >>> Translation: Stop stuffing with the focus in the first place.

    >
    >> Er....say again?

    >
    > I'll try it again, slower..
    >
    > <body onblur="self.focus();"> creates problem. :-(
    >
    > <body> fixes problem. ;-)
    >


    Yes, but will sadly create a new problem - My window will no longer stay at
    the front :-(


    Thanks, Mark
    Mark, Nov 17, 2004
    #5
  6. Mark

    rf Guest

    Mark wrote:

    > > <body onblur="self.focus();"> creates problem. :-(
    > >
    > > <body> fixes problem. ;-)
    > >

    >
    > Yes, but will sadly create a new problem - My window will no longer stay

    at
    > the front :-(


    How do you know your viewer *wants* your page at the front? That is why they
    clicked another window, isn't it? To, you know, look at the *other* window.

    If I were to encounter such a page I would immediately press the back
    button.

    --
    Cheers
    Richard.
    rf, Nov 18, 2004
    #6
  7. Mark

    Mark Guest

    "rf" <rf@.invalid> wrote in message
    news:q0Wmd.39984$...
    > Mark wrote:
    >
    >> > <body onblur="self.focus();"> creates problem. :-(
    >> >
    >> > <body> fixes problem. ;-)
    >> >

    >>
    >> Yes, but will sadly create a new problem - My window will no longer stay

    > at
    >> the front :-(

    >
    > How do you know your viewer *wants* your page at the front? That is why
    > they
    > clicked another window, isn't it? To, you know, look at the *other*
    > window.
    >
    > If I were to encounter such a page I would immediately press the back
    > button.
    >


    Because it is for an inhouse development on an intranet - and they /will/
    obey me ;-)


    Thanks, Mark
    Mark, Nov 18, 2004
    #7
  8. Mark

    Mark Guest

    "Andrew Thompson" <> wrote in message
    news:...
    > On Wed, 17 Nov 2004 23:35:28 GMT, Mark wrote:
    >
    >> It is for a personal-use script.

    >
    > That changes *everything*, I was thinking you meant on an
    > internet site visited by others.
    >
    > For a personal script, you can guarantee the environment
    > (including single browser) and adjust security settings and
    > plug-ins (such as pop-up blockers) as required.


    Yes, I believe I have done all this to a satisfactory level. The window
    opens up, and sits there with my page. The main window gets re-directed to
    the required destination. If you click on the main window, my window comes
    up on top - All works perfectly, except for the fact, I cannot type in my
    window (the window contains a form) rendering the whole application useless
    :-(

    It /appears/, that when I type, the onblur event is being called, so
    recalling the window, rather than registering the keypress as a character.


    > Have you tried framing the two pages? What are the URLs?


    No, this is not possible as I need the full screen of the main page, then
    this popup window is a small window which overlaps a square piece of 'dead
    space' on the main site.

    On a side note --- Windows programming is all very new to me, so things like
    eventhandlers are a complete nightmare. I used to program in C++/ASM back in
    the days of dos, so I do understand the basics of logic and functions etc,
    but the windows part is a real non-starter for me - Can anyone recommend any
    books with good examples? I have various 'reference' books for function
    names / parameters, but these obviously do not show me how to implement the
    procedure into my code.


    Thanks, Mark
    Mark, Nov 18, 2004
    #8
  9. Mark

    rf Guest

    Mark wrote:
    >
    > No, this is not possible as I need the full screen of the main page, then
    > this popup window is a small window which overlaps a square piece of 'dead
    > space' on the main site.


    Sounds like a good excuse for an iframe.

    --
    Cheers
    Richard.
    rf, Nov 18, 2004
    #9
  10. Mark

    RobB Guest

    "Mark" <> wrote in message news:<350nd.30$>...
    > "Andrew Thompson" <> wrote in message
    > news:...
    > > On Wed, 17 Nov 2004 23:35:28 GMT, Mark wrote:
    > >
    > >> It is for a personal-use script.

    > >
    > > That changes *everything*, I was thinking you meant on an
    > > internet site visited by others.
    > >
    > > For a personal script, you can guarantee the environment
    > > (including single browser) and adjust security settings and
    > > plug-ins (such as pop-up blockers) as required.

    >
    > Yes, I believe I have done all this to a satisfactory level. The window
    > opens up, and sits there with my page. The main window gets re-directed to
    > the required destination. If you click on the main window, my window comes
    > up on top - All works perfectly, except for the fact, I cannot type in my
    > window (the window contains a form) rendering the whole application useless
    > :-(
    >
    > It /appears/, that when I type, the onblur event is being called, so
    > recalling the window, rather than registering the keypress as a character.
    >
    >
    > > Have you tried framing the two pages? What are the URLs?

    >
    > No, this is not possible as I need the full screen of the main page, then
    > this popup window is a small window which overlaps a square piece of 'dead
    > space' on the main site.
    >
    > On a side note --- Windows programming is all very new to me, so things like
    > eventhandlers are a complete nightmare. I used to program in C++/ASM back in
    > the days of dos, so I do understand the basics of logic and functions etc,
    > but the windows part is a real non-starter for me - Can anyone recommend any
    > books with good examples? I have various 'reference' books for function
    > names / parameters, but these obviously do not show me how to implement the
    > procedure into my code.
    >
    >
    > Thanks, Mark


    Boy, people certainly are argumentative around here...

    Have you looked into HTAs? Where browser coverage isn't an issue - and
    you don't mind using IE (ugh) the flexibility is tremendous.

    Otherwise...

    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>untitled</title>
    </head>
    <body>
    <input type="button" value="open it"
    onclick="window.open('pop.html','pop','width=400,height=300,left=100,top=100,status=0')"
    />
    </body>
    </html>


    [pop.html]
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>untitled</title>
    <script type="text/javascript">
    //<![CDATA[

    var timerID = null;

    onblur = function()
    {
    timerID = setTimeout('self.focus()', 50);
    }

    onload = function()
    {
    var i = 0, el, els =
    document.getElementsByTagName('form').item(0).elements;
    while (el = els.item(i++))
    if (/text(area)?/.test(el.type))
    {
    el.onfocus = function()
    {
    if (timerID)
    clearTimeout(timerID);
    }
    el.onblur = function()
    {
    timerID = setTimeout('self.focus()', 50);
    }
    }
    self.focus();
    }

    //]]>
    </script>
    </head>
    <body>
    <form style="width:120px;">
    <input type="text" name="foo" value="" />
    <input type="text" name="feh" value="" />
    <textarea name="hah" rows="4" cols="24"></textarea>
    </form>
    </body>
    </html>

    Just uses a timer to 'reverse' the order of blur/focus firing so you
    can control them. Assuming one form in that popup.
    RobB, Nov 18, 2004
    #10
  11. Mark

    Mark Guest

    "RobB" <> wrote in message
    news:...
    > "Mark" <> wrote in message
    > news:<350nd.30$>...
    >> "Andrew Thompson" <> wrote in message
    >> news:...
    >> > On Wed, 17 Nov 2004 23:35:28 GMT, Mark wrote:
    >> >

    >>
    >> It /appears/, that when I type, the onblur event is being called, so
    >> recalling the window, rather than registering the keypress as a
    >> character.
    >>
    >>
    >> > Have you tried framing the two pages? What are the URLs?

    >>
    >> No, this is not possible as I need the full screen of the main page, then
    >> this popup window is a small window which overlaps a square piece of
    >> 'dead
    >> space' on the main site.
    >>
    >> On a side note --- Windows programming is all very new to me, so things
    >> like
    >> eventhandlers are a complete nightmare. I used to program in C++/ASM back
    >> in
    >> the days of dos, so I do understand the basics of logic and functions
    >> etc,
    >> but the windows part is a real non-starter for me - Can anyone recommend
    >> any
    >> books with good examples? I have various 'reference' books for function
    >> names / parameters, but these obviously do not show me how to implement
    >> the
    >> procedure into my code.
    >>
    >>
    >> Thanks, Mark

    >
    > Boy, people certainly are argumentative around here...
    >


    Sure are <lol>, it has took numerous replys before any kind of code /
    functions were even mentioned.


    > Have you looked into HTAs? Where browser coverage isn't an issue - and
    > you don't mind using IE (ugh) the flexibility is tremendous.


    Sorry to sound a bit thick, but what does HTAs stand for?


    >
    > Otherwise...
    >
    > <?xml version="1.0" encoding="iso-8859-1"?>
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    >>>> CODE SNIPPED <<<<


    One phrase springs to mind 'King amongst men'.

    Rob, I cannot thank you enough. I have just got home at 03:40am after
    spending the day driving through snow and achieving very little- copied and
    pasted your code and run it, and it works perfectly. I am not even going to
    try and understand nor modify it until I have had at least 5 hours sleep,
    but at least now, I know I have the basecode to do the job properly.

    Thanks ever so much, it is truly appreciated.


    Thanks, Mark
    Mark, Nov 19, 2004
    #11
    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. Ralf W. Grosse-Kunstleve
    Replies:
    16
    Views:
    562
    Lonnie Princehouse
    Jul 11, 2005
  2. Ralf W. Grosse-Kunstleve
    Replies:
    18
    Views:
    584
    Bengt Richter
    Jul 11, 2005
  3. Ralf W. Grosse-Kunstleve
    Replies:
    2
    Views:
    390
    Dan Sommers
    Jul 12, 2005
  4. falcon
    Replies:
    0
    Views:
    363
    falcon
    Jul 31, 2005
  5. Roger
    Replies:
    3
    Views:
    311
Loading...

Share This Page