Solved

How to disable parent form when any popup form is open

Posted on 2009-05-07
11
1,821 Views
Last Modified: 2013-12-08
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
Comment
Question by:spikyhappy
  • 6
  • 2
  • 2
  • +1
11 Comments
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24333805
0
 

Author Comment

by:spikyhappy
ID: 24334629
This solution is not useful in my case

 Please tell me , can i freeze the parent window till pop up is open ?
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24335011
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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 8

Accepted Solution

by:
Bobaran98 earned 50 total points
ID: 24342298
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24342518
That looks good. Did you write this yourself?
0
 
LVL 8

Expert Comment

by:Bobaran98
ID: 24342583
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24342591
Sleep well. I am in CET so just got up 2.5 hours ago
0
 

Author Closing Comment

by:spikyhappy
ID: 31579323
This solution is very much useful
 thanks
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24401418
@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
 

Expert Comment

by:Nico2011
ID: 37724605
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
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 37726079
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

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Internet is a big network which is formed by connecting multiple small networks.It is a platform for all the users which are connected to it.Internet act as platform in different fields. Such as: Internet  as a collaboration platform. Internet  as…
I annotated my article on ransomware somewhat extensively, but I keep adding new references and wanted to put a link to the reference library.  Despite all the reference tools I have on hand, it was not easy to find a way to do this easily. I finall…
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question