• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1899
  • Last Modified:

How to disable parent form when any popup form is open

hi all ,

  I want to disable (Means i can not click on the window until and unless i close the pop up window ) the paraent window when my pop up window is open

 In my requirment i can not use model popup control provided by AJAX .

 I am using windows.open method to open the pop up menthod ,

I have tried the way given in one post

http://www.hscripts.com/scripts/JavaScript/disable-parent-window.php
http://www.thescripts.com/forum/thread521036.html

the method given here is fine but it is not allowing me to do any thing on the pop up also
 
In my pop up i have FileUpload control , so it is not allowing me to upload the File

Please suggest some way to do that.
0
spikyhappy
Asked:
spikyhappy
  • 6
  • 2
  • 2
  • +1
1 Solution
 
Michel PlungjanIT ExpertCommented:
0
 
spikyhappyAuthor Commented:
This solution is not useful in my case

 Please tell me , can i freeze the parent window till pop up is open ?
0
 
Michel PlungjanIT ExpertCommented:
Not sure what you mean

If you want a modal solution you need something like I gave you or use the IE and FF3 only showModalDialog
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Bobaran98Commented:
I suggest you avoid any type of genuine popup and just go entirely with <div> tag formatting.  I could go into great detail explaining, but instead, just paste my code below into a fresh page and load 'er up!  I think you'll see immediately the possibilities in this kind of solution.

Note that this code is completely cross-browser compatible, working in:

Win - IE7
Win - FireFox
Win - Opera
Win - Chrome
Win - Netscape 6
Mac - FireFox
Mac - Safari
Mac - Opera
Mac - Netscape 6


<html>
<head>
 
<STYLE type="text/css">
   .fadeScreen {
		position:absolute;
		top:0px;
		left:0px;
		width:105%;
		height:100%;
		background:#FFFFFF;
		visibility:hidden;
		filter:alpha(opacity=50);
		opacity:0.50;
		-moz-opacity:0.50;
		-khtml-opacity:0.50;
   }
   .fadeScreenContent {
		position:absolute;
		top:0px;
		left:0px;
		width:105%;
		height:100%;
		visibility:hidden;
   }
   .modalWindow {
		width:300px;
		height:200px;
		background:#AAAAAA;
		border:1px solid #000000;
	}
	.modalWindowCell {
		text-align:center;
		vertical-align:middle;
		padding:20px;
	}
</STYLE>
 
 
<script language="javascript1.2">
	function popupVizToggle() {
		obj1 = document.getElementById('fadeScreen').style;
		obj2 = document.getElementById('fadeScreenContent').style;
		if(obj1.visibility == "visible") { 
			obj1.visibility = "hidden";
			obj2.visibility = "hidden";
		} else { 
			obj1.visibility = "visible";
			obj2.visibility = "visible";
		}
	}	
</script>
 
</head>
<body background="http://dl.img.qj.net/uploads/files_module/screenshots/253_PSP-background-thor64.jpg">
 
<input type="text" id="testText" value="Sample Element on Main Page" size="50"><p>
<input type="submit" id="testButton" value="Open Modal Window" onclick="popupVizToggle();">
 
<div id="fadeScreen" class="fadeScreen"> </div>
 
<div id="fadeScreenContent" class="fadeScreenContent">
	<table width="100%" height="100%"><tr><td valign="middle"><center>
		<table class="modalWindow"><tr><td class="modalWindowCell">
			Here's your so-called modal window.  Note that you can't click or select anything outside this "window" while it's visible!<p>
			<input type="submit" id="testButton2" value="Close Modal Window" onclick="popupVizToggle();">
		</td></tr></table>
	</td></tr></table>
</div>
 
</body>
</html>

Open in new window

0
 
Michel PlungjanIT ExpertCommented:
That looks good. Did you write this yourself?
0
 
Bobaran98Commented:
Yep.  It's a simplified variation on something I designed a month or two ago... my company has a web-based reporting application that our clients use to access up-to-the-minute data... but unfortunately, some of the reports can take 10+ seconds to load because there are so many records getting pulled.  In some situations, some form elements would show when the page was only half loaded, and there was always this risk of clients clicking something early and causing JavaScript errors because the page wasn't loaded yet.  So that's why I created the half-opaque <div>, so the user could see what was happening on the page without being able to access any of it.  And then it was a simple matter to superimpose an animated "loading" gif to make it look more polished.

I'm glad you like it, mplungjan.  And on that note, I'll take your advice and go to bed... does that count has having a life?  :-)
0
 
Michel PlungjanIT ExpertCommented:
Sleep well. I am in CET so just got up 2.5 hours ago
0
 
spikyhappyAuthor Commented:
This solution is very much useful
 thanks
0
 
Michel PlungjanIT ExpertCommented:
@spikyhappy, not only do you only assign 50 points, but you also only give a "B" grade for a great solution. Can you please comment on the choice of grade?
0
 
Nico2011Commented:
Hello - I like this, but need to do something similar with a form that can then add data into a DB - is there any way that can be done using your code please...?  I hve tried, but it doesn't look as if the parent page can be updated when the pop up is closed... Thanks in advance for any help you can give!
0
 
Michel PlungjanIT ExpertCommented:
Try changing
<input type="submit" id="testButton2" value="Close Modal Window" onclick="popupVizToggle();">
to

<input type="button" id="testButton2" value="Close Modal Window" onclick="popupVizToggle();location.reload(1)" />
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

  • 6
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now