Liron Harel
Liron Harel

Reputation: 11247

Error on using alert in Javascript (Property 'alert' of object is not a function)

I am just trying to use alert and put a string variable inside the alert and get an error:

Uncaught TypeError: Property 'alert' of object [Object Window] is not a function

My code is:

var shortenurl = msg.d;
alert(shortenurl);

I've checked the value and it has a string inside, not an object.

Upvotes: 14

Views: 38928

Answers (7)

user18612028
user18612028

Reputation: 11

One of the possible reasons could be that alert is used as variable - for example inside of function:

function MyFunction(v1,alert) { alert(v1); //will fail exactly with that message }

Solution is not to use predefined words as variables.

Upvotes: 1

Petro
Petro

Reputation: 3652

Adding to Chris's answer... I had mistakenly overrode alert in my own function!

    //Don't do this:
    function alertOrConsole(node, alert){
        if(alert){
            alert(node);
        }else{
            console.log(node);
        }
    }

   //----------------------------
   //Fixed:
    function alertOrConsole(node, flag){
        if(flag){
            alert(node);
        }else{
            console.log(node);
        }
    }

Upvotes: 1

WojCup
WojCup

Reputation: 83

Check if you've got a Bootstrap .js declaration if required (after jQuery) i.e.

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

Upvotes: 4

smilyface
smilyface

Reputation: 5513

Mozilla says,

The alert function is not actually a part of JavaScript itself.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

You can not see a function called alert here : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects

Upvotes: 0

Lester
Lester

Reputation: 1870

I had that error message due to an alert() blocked by my pop-up-blocker.

Upvotes: 23

Rob Wilkins
Rob Wilkins

Reputation: 1650

I'm adding this one as an addition to this. In my case, when I had a similar problem, it turned out to not be my own code that was causing the problem but a poorly written extension that had been added to a client's browser. Once it was disabled, the script error went away.

If you haven't overridden the method name in your own code anywhere, you may want to try disabling extensions to see if any of those is inadvertently interfering with your script.

Upvotes: 6

Chris Laplante
Chris Laplante

Reputation: 29658

Somewhere in your code you overrode alert. Check for var alert = ... or some other kind of declaration like that. Also check for window.alert declarations.

Upvotes: 45

Related Questions