help in detecting aol popup blocker

D

dave yan

hi,

i have some forms which use javascript for data validation, e.g.,
checking to make sure all required fields are completed, checking that
data falls within valid ranges for certain fields, etc.

if an error occurs, i'm sending the user a message via the alert
window. the form is then not submitted until the errors are corrected.

however, i've discovered that some users using the aol browser are
able to submit the form without correcting all the errors. upon
investigating further, i suspect that it has to do with the aol
browser settings automatically blocking any popup windows.

my question is: is there a way to detect if the user's browser agent
has popup blocking enabled so that i can redirect the user to a
different page with a message that their form will be submitted
unvalidated?

or if anyone has better ideas on how to handle this, i'd greatly
appreciate any assistance.

tia.
 
K

kaeli

or if anyone has better ideas on how to handle this, i'd greatly
appreciate any assistance.

You should never rely on client-side scripting to validate data. It is a
convenience to the user to not have to get an error after the page is
submitted, saving them time and you bandwidth. However, your server-side
code should validate the exact same things the client-side code does.
This takes care of popup killers, browsers without script at all (or
turned off), and malicious users who might try to screw up your database
or back-end application on purpose.

That said, an alert will not set off a popup blocker.

-------------------------------------------------
~kaeli~
All I ask for is the chance to prove that money
cannot make me happy.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
-------------------------------------------------
 
D

dave yan

You should never rely on client-side scripting to validate data. It is a
convenience to the user to not have to get an error after the page is
submitted, saving them time and you bandwidth. However, your server-side
code should validate the exact same things the client-side code does.
This takes care of popup killers, browsers without script at all (or
turned off), and malicious users who might try to screw up your database
or back-end application on purpose.

i agree wholeheartedly, but the end-user has a bare minimum hosting
package, so there's not much i can do on the server-side. i've been
telling them to upgrade and they've been reluctant to do so.

That said, an alert will not set off a popup blocker.

i'm using a code snippet like this:

msg += myfield.name;
alert(msg);

if (msg == null) return true;
else return false;

in the form, i use the onsubmit event handler:
onsubmit="return checkform(this);"

yet, users using the aol browser do not receive the alert message and
the form is submitted with the data errors.
 
D

dave yan

An alert window, or an alert message? I assume you mean a popup window that
alerts the user?

i guess it would be alert message. i'm not sure if i'm using the right
terminology. i'm using:

alert(msg);

with msg containing the names of the fields which contain errors or
which are empty.

[snipped]
or if anyone has better ideas on how to handle this, i'd greatly
appreciate any assistance.

Sure. Anything but a popup. An alert, a confirm, even a hidden/visible div with
a warning in it. Any of which would be more reliable than a popup window. (Yes,
I use AOL's popup blocker).

i think i'm using an alert instead of a popup. there is an 'ok' button
on the dialog box.
 
K

kaeli

msg += myfield.name;
alert(msg);

if (msg == null) return true;
else return false;

in the form, i use the onsubmit event handler:
onsubmit="return checkform(this);"

Don't set false/true depending on the alert. AOL probably returns false
on the object or someting silly. AOL, if anything, tends to be a silly
browser that does unexpected things.
Set your return value depending on if the values are valid.

if (isValid(document.myForm.myField.value))
{
return true;
}
else
{
alert("problem");
return false;
}

-------------------------------------------------
~kaeli~
All I ask for is the chance to prove that money
cannot make me happy.
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
-------------------------------------------------
 
M

Markus Ernst

HikksNotAtHome said:
Yes, thats an alert, not a popup window. If you will post a URL to the page in
question, or a sample page that demonstrates the problem, I will be happy to
test it using AOL's browser. I know of no reason why AOL would disallow the
alert, I use them and get them when using the AOL browser.

Are you aware that everybody can submit your form without validation just by
deactivating Javascript in the browser settings? If this is a problem you
have to either server-side validate (which was suggested before and you say
is not possible) or make sure not to provide the form to non-Javascript
browsers (which you should only do if your target audience is very
special-interest and has a high motivation to send the form, so they will
enable Javascript for this purpose).

You can do this by creating the form with Javascript (use the
document.write() function) or by writing it into a hidden <div> which lays
over a visible one that contains a message that Javascript must be enabled.
Then you simply turn the hidden <div> visible with an onLoad event. If
Javascript is disabled the user sees the message instead of the form. (Be
aware that non-CSS browsers see both in this case...)

HTH
Markus
 
L

Lasse Reichstein Nielsen

Markus Ernst said:
Are you aware that everybody can submit your form without validation just by
deactivating Javascript in the browser settings? If this is a problem

.... then tough luck. Nothing to do about it :)
Server side validation is the only validation that cannot be avoided, and
therefore the only validation that can be trusted.

[Only give form to javascript enabled clients]
You can do this by creating the form with Javascript (use the
document.write() function) or by writing it into a hidden <div> which lays
over a visible one that contains a message that Javascript must be enabled.

It doesn't prevent the user from turning off Javascript after the page
has been created/made visible, and it sure doesn't stop the from
making their own form (or even sending a custom designed GET request
to the server using telnet).

/L
 
D

dave yan

Yes, thats an alert, not a popup window. If you will post a URL to the page in
question, or a sample page that demonstrates the problem, I will be happy to
test it using AOL's browser. I know of no reason why AOL would disallow the
alert, I use them and get them when using the AOL browser.

thank you very much. again, any suggestions or comments are greatly
appreciated.

http://ctpberk.org/mentor/mentorapply-js.php

(sorry about the delayed response. i got caught up in something else
for a while.)
 
D

dave yan

Are you aware that everybody can submit your form without validation just by
deactivating Javascript in the browser settings? If this is a problem you
have to either server-side validate (which was suggested before and you say
is not possible) or make sure not to provide the form to non-Javascript
browsers (which you should only do if your target audience is very
special-interest and has a high motivation to send the form, so they will
enable Javascript for this purpose).

You can do this by creating the form with Javascript (use the
document.write() function) or by writing it into a hidden <div> which lays
over a visible one that contains a message that Javascript must be enabled.
Then you simply turn the hidden <div> visible with an onLoad event. If
Javascript is disabled the user sees the message instead of the form. (Be
aware that non-CSS browsers see both in this case...)

HTH
Markus

thanks for the suggestion. right now, i have two pages with the form.
on the first page, there is a javascript page redirect. if the browser
is javascript-disabled, then the page is not redirected and the form
is does not have any scripting associated with any events. (also, no
placeholder data in the fields.)

if the browser is enabled, the page is redirected to the form with
javascript validation.
 
D

dave yan

I scrolled all the way to the bottom and submitted the empty form (or rather
tried to) and got the alert. As long as a field was empty, I got the alert. So
its not AOL's popup blocker at fault.

thanks. could you tell me which version of aol you're using? also,
which platform?

back to the drawing board to figure out what the problem is...
 
D

dave yan

The only 2 versions that have the popup blocker are 8.0 and 9.0, I tested it in
AOL8.0 on Win ME.

Can you find out what version AOL and what OS the person is using that has
trouble with it? I can come closer to trying to find out why knowing that than
you trying to guess at it. If for no other reason than I have access to AOL
itself to find out.

thanks. he's using aol 8.0 on win98. i haven't been able to get any
information from one of his testers who was experiencing the same
behavior using an aol browser.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,540
Members
45,025
Latest member
KetoRushACVFitness

Latest Threads

Top