Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

bobbabuoy

macrumors newbie
Original poster
Mar 19, 2004
8
0
I have a (simple?) frameset site and I have two issues:

1) Users with Mac/IE os/browsers have trouble logging into the site.

2) I have an AOL user with a dial-up connection that is also having trouble getting to the login screen.

Does anyone know anything that might cause issues in these two situations? What happens is they make the necessary drop-down selections from the home page(http://www.cclog2.com) and click 'Proceed to Login.' Both vertical frames are supposed to reload pages (using a javascript change2 function called from an external js page). The left frame fills with a blank page and the right frame fills with a login dialog.

In the case of the AOL user, the original left frame doesn't clear (keeps the original keypad page) and the right one clears but doesn't reload the new page. In the case of the Mac user, the original pages clear but the new login screen doesn't.

Any help would be much appreciated! I can supply login data if needed.
 
Since you are a noob, I'll try to be gentle.

First I would suggest changing your change2 method slightly to
PHP:
function change2(menu, info)
{
parent.menuFrame.location.href=menu;
parent.infoFrame.location.href=info;
}

Second the problem with your frameset refresh has to do with your implementation.

<form name="redirectForm" id="redirectForm" method="post" action="javascript:change2('../menu/empty_menu.htm', '../login/login.asp')">

</form>

Using the action attribute of the form is not a good way to call javascript. In fact, using a form in this case serves no purpose that I can see.

I would take the form out entirely and create a javascript function (or just put the redirect commands in) and call that from your onload event on the BODY tag

So the redirecting page would look something like

<body onLoad="change2('../menu/empty_menu.htm', '../login/login.asp')">
</body>

Now...<rant>
1. Don't use framesets. From what I can see, there is no reason for your application to use a frameset. This scripting complexity is another reason not to.
2.There is no need to alert your users that they are using the wrong resolution, that is very bad.
3. Validate your code to make sure it supports most major browsers. I even had probs with your site on IE6.
4. Standardize your CSS usage. I see your are using a page style, an include file, and inline CSS. Thats just a pain to maintain. Think long term here.
5. dont use javascript in hrefs or form actions. In come cases, this will cause the browser great confusion. Alternatively use an onClick event that does its biznass and then returns false. For example

PHP:
<a href="nowhere.html" onClick="doSomeStuff(); return false">some link to do stuff</a>

Using this technique will make sure that the href is never executed as the even bubbling will not occur, because of the return value.

</rant>

The site needs some work if you intend to support the problematic browsers, but try my fix and let us know if it works.

Good Luck.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.