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

JavaScript: undefined function name

Hi Experts,

On a .php page I have

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="directPromo()">

Open in new window


but I get 'directPromo' is undefined.

When I change it to:
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="document.directPromo()">

Open in new window


I get Object doesn't support property or method 'directPromo'

My directPromo is at the way bottom of my page, as follows:
<div id="divPromo" style="display:block">
	
		<form name="frmPromo" id="frmPromo" method="post">
			<p>
			<label>Promo Code:</label>
			<input type="text" name="txtPromo" size="8" " />
			<input type="hidden" name="sess" value="<?php echo $_SESSION['cart_sess']; ?>" />
			<input type="submit" value="Apply" onclick="changePromo()" name="btnApplyPromo" />
			</p>
			<center><label style="font-weight: bold; color:red;"><?php echo $_SESSION['pMSG']; ?></label></center>
		</form>

</div>
</body>
<script language="javascript">
function directPromo()
{
	<?php if ($_GET['promo'] != '') {?>
		document.frmPromo.txtPromo.value='<?php echo $_GET['promo']?>';
		
		str = '<?=$postURL?>' + 'changePromo.asp?goto=products';
		document.frmPromo.action = str;
		document.frmPromo.submit();
	<?php } ?>
}
</script)
</html>

Open in new window


Any ideas?
0
APD_Toronto
Asked:
APD_Toronto
1 Solution
 
Dave BaldwinFixer of ProblemsCommented:
Why are you trying to change it?   'directPromo' is a standalone function you created so it will not be a property of anything in the 'document'.
0
 
APD_TorontoAuthor Commented:
I just need to execute 'directPromo' when the pg loads
0
 
GaryCommented:
Is this just a typo?
</script)
Should be
</script>

You can just add in before the closing script tag, assuming this would be the end of the page.
directPromo()

Also you should be using
<script type="text/javascript">

language= is deprecated so could be giving you problems
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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