I have a browser-based search utility with many .php files and many forms. My users select their query parameters from list boxes and submit the form; a new php page comes up that displays their results.
I've been asked to give my users the option of opening their 'results' page in a new tab in their browser, but my solution isn't really reliable; sometimes it works but sometimes it doesn't. I'm hoping someone can steer me toward a better approach.
I'm using the onkeydown, onkeyup, and onmouseover events to fire javascript functions. In the Body tags of my HTML, I put this:
And my javascript functions:Code:<body onkeydown="pageDifferent(event, 'formSites')" onkeyup="pageSame('formSites')" onmouseover="pageSame('formSites');">
This works fine about 70% percent of the time, but the rest of the time my users' search results open in the same window. If I remove the 'onmouseover' part, it works all the time - presumably my onmouseover is overriding my onkeydown if it senses a tiny movement. But I need the onmouseover part, or something equivalent, to reset to '_self', so that a new tab only opens while the key is pressed.Code:function pageDifferent(pressedKey, formName) { if (pressedKey.keyCode == 18) { document.forms[formName].target='_blank'; } } function pageSame(formName) { document.forms[formName].target='_self'; }
I've tried using anchor tags (CTRL key does what I want by default), but that gives me funky results. I've tried various combinations of onkeydown and onkeypress, but nothing I've come up with does what I want all the time.
Can anyone point me in a direction that will help? Thanks for any replies.


Reply With Quote

Bookmarks