Hey there,

I'm having a javascript problem and I can't really figure this out, some help would be greatly appreciated.

I have this custom made html/javascript form that passes the submitted values to another form (iframe) found on another website. All the fields are working except the "Country" field. This is the code of the iframe found in (avis.com.lb >> online car rental);

<div id="online-booking">
<iframe onload="iFrameHeight()"	id="blockrandom"
	name=""

		src="http://www.avisworld.com/avisonline/ibe.nsf/ReservationStep1?OpenForm&MST=B207502A93C850FEC12574EA002BB67B&RL_ETA=19-06-2009-09-00&RL_ETT=22-06-2009-09-00&RL_CHKNAME=&RL_WIZ=&RL_Country=LB0&RL_GRP1=&IBEOwner=EU&LNG=GB"
	
					
	width="100%"
	height="700"
	scrolling="auto"
	align="top"
	frameborder="0"
	class="wrapper">
	No Iframes</iframe>
</div>

I can't figure out where this code is, I've tried everywhere in the adminpanel and the php file with no result. The problem is, the iframe is set by default to fetch "Lebanon" as default country and it's bypassing the values selected in the previous form (on the main page).

You can view the form online here: http://www.avis.com.lb

I don't really know what's going on there :/

Here is the javascript on the page;

<script type = "text/javascript">
var bgMemory;    // save color information
var fgMemory;
var     statusinfo = false;
function mOver(cell, id, statustxt)
{
    
      cell.style.cursor = 'hand';
      cell.style.backgroundColor='#e6e6e6';
    if (typeof document.getElementById(id + "cc") == "object")
    {
        Elem = document.getElementById(id + "cc");
        bgMemory = Elem.style.backgroundColor;
        Elem.style.backgroundColor='#e6e6e6';
    }
    if (typeof document.getElementById(id + "l") == "object")
    {
        Elem = document.getElementById(id + "l");
        fgMemory = Elem.style.color;
        Elem.style.color='#3D6484';
    }
    window.status=statustxt;
    statusinfo = true;
    return true;
}
function mOut(cell, id)
{
    
      cell.style.cursor = 'hand';
      cell.style.backgroundColor='';
      window.status="";
    if (typeof document.getElementById(id) == "object")
    {
        Elem = document.getElementById(id + "cc");
        Elem.style.backgroundColor = bgMemory;
    }
    if (typeof document.getElementById(id + "l") == "object")
    {
        Elem = document.getElementById(id + "l");
        Elem.style.color = fgMemory;
    }
    window.status='';
    statusinfo = false;
    return true;
}
function mClick(cell)
{
   if(event.srcElement.tagName=='TD')
   {
      cell.children.tags('A')[0].click();
   }
}
</script>
<script type = "text/javascript">
var xMonths = new Array( 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec' );

function getListValue( option_object  ){return option_object[ option_object.selectedIndex ].value;}

function setListValue( option_object, value  ){ option_object.selectedIndex = value;}

function addDays(myDate,days) {
    return new Date(myDate.getTime() + days*24*60*60*1000);
}
function init()
{
xToday = new Date();
yToday = addDays(new Date(),3);

xMonth = xToday.getMonth();
xDay = xToday.getDate()-1;
xYear = xToday.getYear()-2005; if (xYear < 2005) xYear=0;

yMonth = yToday.getMonth();
yDay = yToday.getDate()-1;
yYear = yToday.getYear()-2005; if (yYear < 2005) yYear=0;
  xF = document.forms['quickbooking'];
  setListValue( xF.ETAHour, 9 )
  setListValue( xF.ETAMonth, xMonth )
  setListValue( xF.ETADay, xDay )
  setListValue( xF.ETAYear, xYear )
  setListValue( xF.ETTHour, 9 )
  setListValue( xF.ETTMonth, yMonth )
  setListValue( xF.ETTDay, yDay )
  setListValue( xF.ETTYear, yYear )
}


function openhelp( hlpString )
{
    hlpWin = window.open( hlpString , 'Help', 'width=395,height=345,resizable=yes,scrollbars=yes,status=yes')
    hlpWin.focus();
}

function doContinue( )
{
xF = document.forms['quickbooking'];
xCountry = getListValue( xF.Country );
xETADay = getListValue( xF.ETADay );
xETAMonth = getListValue( xF.ETAMonth );
xETAYear = getListValue( xF.ETAYear );
xETAHour = getListValue( xF.ETAHour );
xETAMinute = getListValue( xF.ETAMinute );
xETA = xETADay + xMonths[ parseInt( xETAMonth )-1 ] + xETAYear.substr(2,2) + '/' + xETAHour + xETAMinute;xETTDay = getListValue( xF.ETTDay );
xETTMonth = getListValue( xF.ETTMonth );
xETTYear = getListValue( xF.ETTYear );
xETTHour = getListValue( xF.ETTHour );
xETTMinute = getListValue( xF.ETTMinute );
xETT = xETTDay + xMonths[ parseInt( xETTMonth )-1 ] + xETTYear.substr(2,2) + '/' + xETTHour + xETTMinute;
xWizardNumber = xF.wizard_number.value;
xName = xF.surname.value ;
xParams = '&CTR=' + xCountry +'&Country=' + xCountry + '&ETA=' + xETA + '&ETT=' + xETT+ '&CNAM=' + xName + '&WIZ=' + xWizardNumber+'&SOR=0038780x';
url = 'http://book.rent-at-avis.com/avisonline/ibe.nsf/PrefillX?OpenAgent&ResStep=ReservationStep1&IBEOwner=EU&LNG=GB' + xParams;location.href = url;
}
window.onload = init;
</script>

Also note that the option value of "Lebanon" is selected: <option value="LB0" selected="selected">Lebanon</option>

Thanks.

Recommended Answers

All 4 Replies

From the getListValue(option_object) function, try changing the whole block into this format:

function getListValue( option_object ) {
   return option_object[b].[/b]options[option_object.selectedIndex].value;
}

From the getListValue(option_object) function, try changing the whole block into this format:

function getListValue( option_object ) {
   return option_object[b].[/b]options[option_object.selectedIndex].value;
}

Thanks for the reply but that didn't work :/

I havnt tried running your code yet.

And it may take some time to fix, since we have have a full length of lines to be examined.

I'll take some time to it and see what i can do or maybe someone might post back to help you before i do...

essential

Well, thanks alot man but it got fixed :D

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.