DHTML Iframe closing window issue

Hi Experts,

I am having issues closing a pop-up window on the click of a link.

Please see code for errors.

Basic Setup
Page 1
Has 1 Hidden and 1 Visible Input to be updated from another Source
Page 2
PopUp Iframe
Visit http://www.dynamicdrive.com/ for full source code
Inside Iframe
Page 3
Has Href to set off back to Original

Error I am getting is
ratewin is not defined
I have an alert in the main window, and the input boxes are being filled fine, just can't get the floating iframe to close after it has been used.
I put the close function back in the Parent Window as that is where it is defined?
I look forward to your thoughts and questions probably.

I am a bit of a newby to Java/ Ajax and DHTML
I am a VBA Programmer.
---Code to Open Window ----
<script type="text/javascript" src="../../dhtmlwindow/windowfiles/dhtmlwindow.js">
/***********************************************
* DHTML Window Widget- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>
 
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
function OpenRateWin(BankCode) {
//alert (BankCode);
var ratewin = dhtmlwindow.open('Select Rate', 'iframe', '../Trans/AddBanksRatesMain_nh.asp?BankCode=' + BankCode, 'Select Rate', 'width=1000px,height=600px,center=1');
 
}
 
function closeRateWin_onchange() {
	alert("test");
	ratewin.close(); return false;
}
//-->
</SCRIPT>
 
--Href to Set off Code --
					Response.Write "<td class=BondsNav><a href=javascript:updaterateparent(" & rsD.Fields(i+1).Value & "," & rsD.Fields(i).Value & ") title=Use Rate>" & FormatNumber(rsD.Fields(i).Value, 2) & "</a></td>"				
 
--Java function this Href Runs --
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function updaterateparent(varRateID, txtRate) {
 
	if (typeof(parent.rate_onclick)=='function') parent.rate_onclick(varRateID, txtRate);
}
 
//-->
</SCRIPT>
-- Which in Turn runs --
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
function rate_onclick(varRateID, txtRate) {
	//alert(varRateID + txtRate);
     var winOpener = window.opener;
	 window.parent.Frmcheckall.txtRateID.value = varRateID;
     window.parent.Frmcheckall.txtRate.value = txtRate;
	//parent.closeRateWin_onchange(this);
	if (typeof(parent.closeRateWin_onchange)=='function') { 
		//alert("testIF");
		parent.closeRateWin_onchange();
	}
}
</SCRIPT>
-- Which leads me back to my original window to close its child iframe--

Open in new window

LVL 1
Craig LambieAsked:
Who is Participating?
 
Göran AnderssonConnect With a Mentor Commented:
You have declared the variable as a local variable in the functon, so it doesn't exist outside the function. Declare it outside the function:
var ratewin;
 
function OpenRateWin(BankCode) {
  ratewin = dhtmlwindow.open('Select Rate', 'iframe', '../Trans/AddBanksRatesMain_nh.asp?BankCode=' + BankCode, 'Select Rate', 'width=1000px,height=600px,center=1');
}

Open in new window

0
 
Craig LambieAuthor Commented:
You little Beauty!!!
Thanks so much!! Just couldn't see it...
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.

All Courses

From novice to tech pro — start learning today.