PositiveGuy
PositiveGuy

Reputation: 47783

$ is not defined

I cannot figure out why it's still not recognizing jQuery syntax when I clearly have included the jQuery library right before my $(document).ready

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1"><title>

</title></head>
    <body>

        <form name="form1" method="post" action="jQueryDialogTest.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZA==" />

</div>


<script src="content/js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="content/js/popup.js" type="text/javascript"></script>
            <div id="testDialog" winWidth="400" winHeight="500" winResizable="true">
                Some test mark-up, should show inside the dialog
            </div>
            <div><input type="button" id="invokeDialog" value="Click Me!" /></div>
        </form>

        <script type="text/javascript">

            $(document).ready(function()
            {
                $("input.invokeDialog").click.showDialog("#testDialog");
            });

        </script>

    </body>
</html>

In popup.js I have for example this:

function showDialog(divID)
{
    // Get reference to the div element
    var dialogDiv = $(divID);

    dialogDiv.dialog
    (
        {
            bgiframe: true,
            modal: true,
            autoOpen: false,
            show: 'blind'
        }
    )

    dialogDiv.dialog("open");
}

Upvotes: 1

Views: 2133

Answers (4)

Pollett
Pollett

Reputation: 596

You can solve $ not defined errors by calling jQuery directly and adding the alias by:

       jQuery(document).ready(function($)
       {
           $("input.invokeDialog").click.showDialog("#testDialog");
       });

Upvotes: 1

RichieHindle
RichieHindle

Reputation: 281825

A stab in the dark: you have a relative path to your jQuery file:

<script src="content/js/jquery-1.3.2.min.js" ...

so if your content directory is in the root of your site:

http://mysite.com/content/

but your page is in a subdirectory:

http://mysite.com/test/mypage.html

then the relative path will be:

http://mysite.com/test/content/js/jquery-1.3.2.min.js

which presumably doesn't exist. Should you be saying:

<script src="/content/js/jquery-1.3.2.min.js" ...

(note the leading slash) instead?

Upvotes: 3

JC Ford
JC Ford

Reputation: 7066

Is that code verbatim? You're missing a closing parenthesis after the closing brace.

Don't know if that'd cause your issue, tho.

Might seem like an obvious thing, but make sure the path to jQuery is right.

Upvotes: 2

John Fisher
John Fisher

Reputation: 22717

Are you sure that it's actually loading the javascript file? Tools like "Fiddler" can help you determine this.

Also, your code is not terminated correctly, which can cause weird errors. Try this:

$(document).ready(function() 
            { 
                $("input.invokeDialog").click.showDialog("#testDialog"); 
            } 
);

Upvotes: 9

Related Questions