PDA

نسخه کامل مشاهده نسخه کامل : ایراد این اسکریپ چیه؟



hatef_zt
24-02-2009, 20:27
سلام من توقع رارم 666 چاپ بشه امه نمیشه ایرادش کجاست؟

<html>
<head>
<script>

var hatef="555";
function change()
{
hatef="666";
return hatef;
}


</script>
</head>

<body onload="change()">

<script>
document.write(Global_hatef);
</script>

</body>
</html>

eAmin
25-02-2009, 12:10
سلام.

شما چطور انتظار دارید متغیری که هنوز ایجاد نشده و وجود خارجی نداره، کار دلخواهتون رو انجام بده؟
شما یه تابع ایجاد کردین به نام change خوب باید همون رو فرواخونی کنید نه اینکه به متغیر hatef یه Global اضافه کنید!

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hatef_zt
25-02-2009, 16:55
ممنون
اون global رو مثل php نوشتم :-)


اما سوال اصلیم اینه:


یه نگه به این سایت بنداز


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

پایین صفحه یعنی ردیف دوم عکسا (browse by treatment)اگر روی اون فلش کوچیک کنارش کلید کنی جا بجا میشن
چیکار باید کرد؟

neopersia
25-02-2009, 17:10
سلام
مشکل اصلی توی کد که همون اشتباه نوشتن نام متغیر بود که امین جان گفت
اما یه مشکل دیگه هم داره که توی کد اولتون به جای 666 مقدار 555 نوشته میشه. دلیلش هم اینه که رویداد onload بعد از اونکه صفحه کاملاً لود شد اجرا میشه یعنی وقتی که مرورگر از متد write گذشته و مقدار 555 رو چاپ کرده! برای اینکه درست همونطوری که میخواید کار کنه باید متد write رو هم بزارید توی onload بعد از تابع change یا تابع change رو خارج از رویداد و قبل از متد write به صورت دستی فراخوانی کنید!