PDA

View Full Version : سوال: بروز خطا هنگام اجرای کد ساده جی کوئری



hastiam
یک شنبه 03 فروردین 1393, 16:14 عصر
سلام دوستان من بارها و بارها از کدهای جی کوئری تو پروژه هام استفاده کردم و هیچ مشکلی نداشتم، الان یک پروژه ی asp.net ایجاد کردم که دارای یک مسترپیج هست و من تو مستریپج دستور زیر رو نوشتم اما موقع اجرا خطای Microsoft JScript runtime error: '$' is undefined رو نمایش میده به نظر خودم همه آیتمهای لازم برای اجرای کد جی کوئری رو گذاشتم اما حین اجرای برنامه خطا داره.


<head runat="server">
<link href="Styles/Master.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>

<title></title>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#next").click(function () {
alert("next");
});
$("#pre").click(function () {
alert("pre");
});
});
</script>
<asp:ContentPlaceHolder ID="head" runat="server">

</asp:ContentPlaceHolder>

</head>

farhud
یک شنبه 03 فروردین 1393, 22:49 عصر
مشکل به خاطر آدرس فايل‌هاي جي کوئري است. چون داري از آنها در مستر پيچ استفاده مي‌کني در فايلهايي که از مسترپيچ ارث بري دارند مشکل ايجاد مي‌شود.
براي رفع آن از دستور زير استفاده کن (اميدارم دستور را درست بنويسم):

src=<%Resolve.Url("file address")

ab_ir_007
سه شنبه 12 فروردین 1393, 00:39 صبح
دوست من بجای کلمه $ از کلمه JQuery استفاده کن.

hastiam
پنج شنبه 14 فروردین 1393, 22:10 عصر
ممنون به خاطر پاسختون،
من از هر دو روش بالا استفاده کردم ولی متاسفانه جواب نداد.
در روش اول با خطای جدید زیر مواجه شدم :
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
و در روش دوم هم خطای زیر
Microsoft JScript runtime error: 'JQuery' is undefined
آیا راه حل دیگه ای وجود نداره؟
جالب اینجاست که من قبلا از جی کوئری در فرمهای دارای مسترپیج استفاده کردم و هیچ مشکلی نداشتم. :متعجب::متعجب::متعجب:

imohsen
جمعه 15 فروردین 1393, 18:30 عصر
وقتی که در جی کوئری بخوای به کنترل های asp.net دسترسی داشته باشی این بهترین راهه:

<script type="text/javascript">
$(document).ready(function () {
$('#<%=btn_something.ClientID %>').click(function () {
my operations...
});



});

</script>

hastiam
شنبه 16 فروردین 1393, 11:17 صبح
وقتی که در جی کوئری بخوای به کنترل های asp.net دسترسی داشته باشی این بهترین راهه:

<script type="text/javascript">
$(document).ready(function () {
$('#<%=btn_something.ClientID %>').click(function () {
my operations...
});



});

</script>


دوست عزیز مشکل من اینه که $ رو خطا میگیره (
Microsoft JScript runtime error: '$' is undefined) یعنی همون خط اول کد جی کوئری رو خطا می گیره و به داخل تابع نمیرسه. :ناراحت:

Mag-Mag
شنبه 16 فروردین 1393, 15:19 عصر
سلام
خوب چرا اون همه فایل Jquery به صفحه اضافه کردی
برو jquery-1.7.2.min.js رو دانلود کن همون رو فقط به صفحه اضافه کن درست میشه

یعنی به جای این 3 خط


<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>

بنویس


<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>


یا برو 7 رو دانلود کن و اون رو به صفحه ات اضافه کن ، که میشه


<script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>

hastiam
شنبه 16 فروردین 1393, 23:40 عصر
سلام
خوب چرا اون همه فایل Jquery به صفحه اضافه کردی
برو jquery-1.7.2.min.js رو دانلود کن همون رو فقط به صفحه اضافه کن درست میشه

یعنی به جای این 3 خط


<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>

بنویس


<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>


یا برو 7 رو دانلود کن و اون رو به صفحه ات اضافه کن ، که میشه


<script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>






دوست خوبم اینکار رو هم انجام دادم ولی باز هم خطای Microsoft JScript runtime error: '$' is undefined رو میبینم.:گریه:

mRizvandi
یک شنبه 17 فروردین 1393, 01:12 صبح
روش آدرس دهی صحیح اینطوری هست، به این دلیل که وقتی وارد صفحاتی می شوید که داخل فولدر هستند، آدرس تغییر می کنه و نباید ثابت آدرس رو داده باشید.

<
script src='<%# ResolveUrl("~/Scripts/jquery-1.7.2.min.js") %>" type="text/javascript"></script>

hastiam
یک شنبه 17 فروردین 1393, 19:57 عصر
روش آدرس دهی صحیح اینطوری هست، به این دلیل که وقتی وارد صفحاتی می شوید که داخل فولدر هستند، آدرس تغییر می کنه و نباید ثابت آدرس رو داده باشید.

<
script src='<%# ResolveUrl("~/Scripts/jquery-1.7.2.min.js") %>" type="text/javascript"></script>

کدی که من نوشتم به صورت زیر :


<head runat="server">
<title></title>
<script src="<%# ResolveUrl("~/Scripts/jquery-1.4.2.min.js") %>" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
alert("OK");
});
</script>
</head>

ولی باز همچنان خطای Microsoft JScript runtime error: '$' is undefined دارم.
خیلی جالبه که من از همین دستورات جی کوئری تو چند تا از برنامه هام استفاده کردم مشکلی نداشتم ولی نمیدونم چرا تو این پروژه م به این مشکل برخوردم و تا این مشکلم حل نشه نمیتونم پروژمو ادامه بدم الان متوقف شده و فقط گیره همین مشکل هستم. با استفاده از جی کوئری خیلی کارا میشه کرد که با کنترل های معمولی asp نمیشه و بنابراین مجبورم از جی کوئری استفاده کنم.

mRizvandi
دوشنبه 18 فروردین 1393, 00:46 صبح
پروژه رو اجرا کنید، و با استفاده از View Source در مرورگر، ببینید که مسیر فایل جی کوئری چی هست؟

Mag-Mag
دوشنبه 18 فروردین 1393, 09:09 صبح
ببین قبل از هر کاری
اول پروژه رو اجرا کن
روی مرورگر کلیک راست کن و گزینه view source رو بزن
بگرد دنبال همین جایی که jquery رو به صفحه ات لینک کردی
روش کلیک کن
ببین واقعا اون فایل jquery باز می شه یا نه
جون مشکل به احتمال زیاد از ادری دهی است

farhud
دوشنبه 18 فروردین 1393, 09:26 صبح
کدی که من نوشتم به صورت زیر :


<head runat="server">
<title></title>
<script src="<%# ResolveUrl("~/Scripts/jquery-1.4.2.min.js") %>" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
alert("OK");
});
</script>
</head>

ولی باز همچنان خطای Microsoft JScript runtime error: '$' is undefined دارم.
خیلی جالبه که من از همین دستورات جی کوئری تو چند تا از برنامه هام استفاده کردم مشکلی نداشتم ولی نمیدونم چرا تو این پروژه م به این مشکل برخوردم و تا این مشکلم حل نشه نمیتونم پروژمو ادامه بدم الان متوقف شده و فقط گیره همین مشکل هستم. با استفاده از جی کوئری خیلی کارا میشه کرد که با کنترل های معمولی asp نمیشه و بنابراین مجبورم از جی کوئری استفاده کنم.

در خط سوم، از " استفاده نکن، از ' استفاده کن.

hastiam
سه شنبه 19 فروردین 1393, 20:42 عصر
پروژه رو اجرا کنید، و با استفاده از View Source در مرورگر، ببینید که مسیر فایل جی کوئری چی هست؟
ممنون دوست عزیز : اینکار رو انجام دادم مسیر فایل رو خالی نشون میده یعنی : src=""
قطعا مشکل از آدرس دهی هست ولی نمیدونم چطوری آدرس رو بدم تمام راههایی که دوستان گفتند رو تست کردم اما هیچکدوم جواب ندادند.

mRizvandi
چهارشنبه 20 فروردین 1393, 01:59 صبح
ممنون دوست عزیز : اینکار رو انجام دادم مسیر فایل رو خالی نشون میده یعنی : src=""
قطعا مشکل از آدرس دهی هست ولی نمیدونم چطوری آدرس رو بدم تمام راههایی که دوستان گفتند رو تست کردم اما هیچکدوم جواب ندادند.
اگر خالی هست به این دلیل هست که آدرس فایل اشتباه هست.
فقط دقت کنید که اسم فایل جی کوئری و مسیرش صحیح باشه.
دقت کنید که رشته حاوی آدرس ابتدا با کوتیشن شروع میشه و بعد داخل دابل کوتیشن داره، به مثال زیر دقت کنید:

<script src='<%# ResolveUrl("~/Script/jquery-1.9.1.min.js") %>' type="text/javascript"></script>

اسم فولدرتون رو بررسی کنید که Scripts هست یا Script

--

یک صفحه ساده aspx بدون مسترپیج بسازید، اسکریپت رو تست کنید، ببینید باز هم خطا دارید؟

ahmad156
چهارشنبه 20 فروردین 1393, 18:56 عصر
دوست عزیز فایل Jquery به صفحه تون Add نشده.خیلی واضحه.ببینین مشکل آدرستون چی هست.آدرس زیر رو جایگزین کنین

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

hastiam
جمعه 22 فروردین 1393, 10:56 صبح
اسم فولدرتون رو بررسی کنید که Scripts هست یا Script


واقعا ممنون از راهنماییتون، وقتی یک پروژه می سازیم به طور پیش فرض یک فولدری به نام Scripts داره، من فایل های js ام رو تو این فولدر Add می کردم، وقتی گفتید اسم فولدرت رو بررسی کن دیدم اسم فولدر همون Scripts هست و مشکلی نداره، به ذهنم رسید یک فولدر جدید با یک اسم دیگه (ScriptFiles)بسازم و فایلهام رو تو این فولدر بذارم برنامه رو اجرا کردم که تو اوج ناامیدی جواب داد. :تشویق: نمیدونم چرا آدرس فولدر Scripts رو میدادم جواب نمیداد. :متعجب::متعجب::متعجب:

mRizvandi
جمعه 22 فروردین 1393, 11:29 صبح
واقعا عجیبه، تنها دلیل ممکنه اینه که یک کاراکتر غیر قابل دیدن در نام یا در مسیر قرار گرفته باشه.
ولی خوب خدا رو شکر که درست شد، فکر می کنم اگر الان دوباره فولدر Scripts رو خودتون بسازید و کدها رو تغییر بدید باید درست کار کنه.
موفق باشید.

mahan206
چهارشنبه 02 مهر 1393, 12:08 عصر
سلام بچه ها من همه این کارو رو کردم بازم سورس رو نگا میکنم تو موزیلا بازم خالی نشون میده srcجاوا اسکریپت رو خیلی دقت کردم اما بازم مشکل داره

mahan206
چهارشنبه 02 مهر 1393, 16:01 عصر
مشکل منم حل شد اما کدش اینجوری باید باشه

<script src='<%= ResolveUrl("~/ScriptFiles/jquery.min.js") %>' type="text/javascript"></script>