SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Addict
    Join Date
    Jan 2012
    Posts
    261
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Need to display multiple popups

    I've been using the following popup script for several years:

    <a href="javascript:;" onClick="MM_openBrWindow('MySite/Aids/Popups/World.php?MySS=<?php echo $MySiteID.$PopParent; ?>','IRSA','scrollbars=yes,resizable=yes,width=175,height=250')">PopUp</a>

    I just upgraded to a new script that's less complicated and is supposed to be more user-friendly for people who have JavaScript disabled:

    <a href="MySite/Aids/Popups/World.php?MySS=<?php echo $MySiteID.$PopParent; ?>" rel="popup standard 150 400 noicon">PopUp</a>

    It works fine except for one problem: I can only open one popup at a time. Does anyone know how I can modify the associated JavaScript file (posted below) so I can open multiple windows?

    Or if you know of another script that would accomplish what I need, that would be fine, too. There must be a thousand examples on Google, but I can't seem to connect with anything that works for me. Thanks.

    On Edit: I should add that all my popup links target the same file. The file simply displays different information depending on PHP values passed via the links.

    Code:
    var newWindow = null;
    
    function closeWin(){
    	if (newWindow != null){
    		if(!newWindow.closed)
    			newWindow.close();
    	}
    }
    
    function popUpWin(url, type, strWidth, strHeight){
    	
    	closeWin();
    		
    	type = type.toLowerCase();
    	
    	if (type == "fullscreen"){
    		strWidth = screen.availWidth;
    		strHeight = screen.availHeight;
    	}
    	var tools="";
    	if (type == "standard") tools = "resizable,toolbar=no,location=no,scrollbars=yes,menubar=no,width="+strWidth+",height="+strHeight+",top=0,left=0";
    	if (type == "life") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
    	if (type == "console" || type == "fullscreen") tools = "resizable,toolbar=no,location=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
    	newWindow = window.open(url, 'newWin', tools);
    	newWindow.focus();
    }
    
    function doPopUp(e)
    {
    //set defaults - if nothing in rel attrib, these will be used
    var t = "standard";
    var w = "780";
    var h = "580";
    //look for parameters
    attribs = this.rel.split(" ");
    if (attribs[1]!=null) {t = attribs[1];}
    if (attribs[2]!=null) {w = attribs[2];}
    if (attribs[3]!=null) {h = attribs[3];}
    //call the popup script
    popUpWin(this.href,t,w,h);
    //cancel the default link action if pop-up activated
    if (window.event) 
    	{
    	window.event.returnValue = false;
    	window.event.cancelBubble = true;
    	} 
    else if (e) 
    	{
    	e.stopPropagation();
    	e.preventDefault();
    	}
    }
    
    function findPopUps()
    {
    var popups = document.getElementsByTagName("a");
    for (i=0;i<popups.length;i++)
    	{
    	if (popups[i].rel.indexOf("popup")!=-1)
    		{
    		// attach popup behaviour
    		popups[i].onclick = doPopUp;
    		// add popup indicator
    		if (popups[i].rel.indexOf("noicon")==-1)
    			{
    			popups[i].style.backgroundImage = "url(pop-up.gif)";
    			popups[i].style.backgroundPosition = "0 center";
    			popups[i].style.backgroundRepeat = "no-repeat";
    			popups[i].style.paddingLeft = "15px";
    			}
    		// add info to title attribute to alert fact that it's a pop-up window
    		popups[i].title = popups[i].title + " [Opens in pop-up window]";
    		}
    	}
    }
    
    addEvent(window, 'load', findPopUps, false);

  2. #2
    SitePoint Addict
    Join Date
    Jan 2012
    Posts
    261
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Update: I just discovered that I could open multiple popups with my original script because every link had a unique ID (e.g. IRSA in the example above). So I guess my idea of just linking to one popup file with dynamic content isn't going to work.

    Instead, I need to figure out how to modify the new JS code that a new window pops up every time a link with a unique ID is clicked. Does anyone know how to do that? And how would I add the ID to the link?

    Thanks.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •