Detect whether javascript threw an alert window (with javascript)

U

umdsasha

So, basically, I need to detect whether an alert window was thrown. I
can't find where it's thrown from but I need to disable a button only
if there were no alert windows thrown. Any ideas?

Thanks
Alex
 
G

guywmustang

If you're using a try{ } catch {}
Just add a variable in there to increment a counter... check to see if
the counter was > 0 ... How are you getting this alert to come up?
 
R

RobG

So, basically, I need to detect whether an alert window was thrown. I
can't find where it's thrown from but I need to disable a button only
if there were no alert windows thrown. Any ideas?

Presumably, you are the one calling alerts so surely you can do this
some other way? Anyhow, all you do is assign a reference to
window.alert to some other global variable, then assign your own
function to window.alert - you *must* do this in the right order or
you'll lose your one and only reference to the window.alert function.

Disable the button by default, then enable it with your replacement
alert function. Of course users without JavaScript won't be able to
enable the button, but then they can't call alerts either. :)

e.g.

<script type="text/javascript">

// Function to run when alert called
function trapAlert(msg){
document.getElementById('aButton').disabled = false;
xAlert(msg);
}

// Assign reference to window.alert to another variable
var xAlert = window.alert;

// Re-assign window.alert
window.alert = trapAlert;

</script>

<input type="button" value="Button to enable" id="aButton" disabled
onclick="alert('I\'m working!!');">
<input type="button" value="Call an alert" onclick="alert('hey');">
 
L

Laurent Bugnion

Hi,
If you're using a try{ } catch {}
Just add a variable in there to increment a counter... check to see if
the counter was > 0 ... How are you getting this alert to come up?

try catch will catch an exception, not an alert window. You were
probably confused by the use of "thrown". alert windows are not thrown,
they are displayed ;-)

HTH,
Laurent
 

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,744
Messages
2,569,484
Members
44,906
Latest member
SkinfixSkintag

Latest Threads

Top