Jump to content

Pop Up Problems


ShadowMage
 Share

Recommended Posts

I am trying to make a link that displays information when you hover over it, and when it's clicked you can edit the information. In the onmouseover event, I call a function to open a new window, and on the onmouseout event it closes the window. Both of these work perfectly. The problem comes in when I try to click and edit the information. The pop up is loaded from the same php file, and the same JavaScript method. The only difference is that a variable is passed to indicate clicked or hovered. If clicked, the window should be loaded to allow editing. If hovered, it should be loaded as readonly.This is how I currently have it. When clicked this just loads the window in readonly mode, as if I had hovered over it.

<input type='text' name='myInput' value='-' onmouseover='showWindow(0);' onmouseout='hideWindow();' onclick='showWindow(1);'/>

I have also tried this:

<a target='_blank' href='myWindow.php?Clicked=1' onmouseover='showWindow(0);' onmouseout='hideWindow();'>Edit</a>

But this, when clicked loads a completely different window. I've tried changing the target to '_self' and 'new' but neither one works like I want. '_self' opens the editable page in the parent window instead of the pop up.I hope I've made this clear enough as to what I'm trying to do. Any advice is much appreciated, thank you.jkloth

Link to comment
Share on other sites

Sorry about that, here are the functions I'm using:

<script type='text/javascript'>var newWindow = null;var locked = 0;var x = 0;function showWindow(blnClicked) {	if (locked == 0) {		x++;		if (x == 1) {			newWindow = window.open("Forms/myWindow.php?Clicked="+blnClicked, "newWindow ", "toolbar=no, location=no, directories=no, titlebar=no, status=no, menubar=no, scrollbars=no, resizable=no, width=550, height=400");		}	}	if (blnClicked != 0) {		locked = 1; //if clicked change to 1, if not clicked don't change value, value will be reset when newWindow is closed		newWindow .focus();	}}function hideWindow() {	if (locked == 0) {		newWindow .close();		newWindow = null;		x = 0;	}}

Edited by jkloth
Link to comment
Share on other sites

Sorry about that, here are the functions I'm using:
<script type='text/javascript'>var newWindow = null;var locked = 0;var x = 0;function showWindow(blnClicked) {	if (locked == 0) {		x++;		if (x == 1) {			newWindow = window.open("Forms/myWindow.php?Clicked="+blnClicked, "newWindow ", "toolbar=no, location=no, directories=no, titlebar=no, status=no, menubar=no, scrollbars=no, resizable=no, width=550, height=400");		}	}	if (blnClicked != 0) {		locked = 1; //if clicked change to 1, if not clicked don't change value, value will be reset when newWindow is closed		newWindow .focus();	}}function hideWindow() {	if (locked == 0) {		newWindow .close();		newWindow = null;		x = 0;	}}

The reason your first approach didn't work is because you're destroying the reference to the window with this line:newWindow = null;Remove that line and the following should work:
<input type='text' name='myInput' value='-' onmouseover='showWindow(0);' onmouseout='hideWindow();' onclick='showWindow(1);'/>

Link to comment
Share on other sites

The reason your first approach didn't work is because you're destroying the reference to the window with this line:newWindow = null;Remove that line and the following should work:
<input type='text' name='myInput' value='-' onmouseover='showWindow(0);' onmouseout='hideWindow();' onclick='showWindow(1);'/>

I removed that line and it's still not working. For some reason it's always firing the showWindow() method with blnClicked = 0. I even tried changing the default value for Clicked in my php file to '1' to see if there was an issue with the POST but it still loads with Clicked = 0.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...