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

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 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() {
	ratewin.close(); return false;
--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);
-- 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;
	if (typeof(parent.closeRateWin_onchange)=='function') { 
-- Which leads me back to my original window to close its child iframe--

Open in new window

Craig Lambie
Craig Lambie
1 Solution
Göran AnderssonCommented:
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

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

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now