PDA

View Full Version : سوال: استفاده از onload در Ajax



mohammad87
شنبه 23 مرداد 1389, 16:16 عصر
با سلام به همه،
من کلی توی اینترنت رو گشتم(5 ساعت ) ولی به این سوالم نرسیدم که:
یک وبسایت دارم از آژاکس توش استفاده کردم وقتی که یک قسمت رو توی صفحه 1 کلیک می کنم تا صفحه2 مربوطه به صورت آژاکس توی یک دایو اصلی صفحه 1 باز بشه درست کار می کنه.تا اینجا مشکلی ندارم.مشکل اینجاست که زمانی که توی رویداد صفحه 2 قسمت body میام onload رو اضافه می کنم تا مثلا بعد از لود شدن در دایو صفحه 1 یک آلرت نمایش بده هیچ اتفاقی نمی افته؟؟؟!!
صفحه 2

کد: <body onload="javascript:alert('f')">
ولی توی توی رویداد صفحه 1 این مشکل پیش نمیاد.

توی اینترنت به این هم رسیدم ولی نمی دونم چطور باید استفاده کنم؟اصلا درست هست:
http://www.dynamicdrive.com/forums/s...ad.php?t=13003 (http://www.dynamicdrive.com/forums/showthread.php?t=13003)

exlord
یک شنبه 24 مرداد 1389, 09:20 صبح
وقتی دارین با ajax چیزی رو لود میکنین اون رو به عنوان یه صفحه نمیبینه تا event ای بخواد اجرا بشه ...
3 راه دارین ...
1 - اگه حتما میخواین که یه صفحه کامل رو لود کنین از iframe استفاده کنین ....
2 - اگه فقط یه سری کد html رو میخواین لود کنین ajax خودش متد callback داره که بعد از لود شدن کامل content مورد نظرتون اجرا میشه .... این متد میتونه هم تو صفحه 1 باشه و هم تو صفحه 2 ...
3 - و یا اینکه کد اسکریپت مورد نظرتون رو در آخر صفحه 2 قرار بدین ئر این صورت وقتی که browser به این کد رسید اجراش میکنه ... البته این بستگی داره که چجوری دارین از ajax استفاده میکنین ... چون در بعضی مواقع اسکریپت ها disable میشن ...

si6arp
یک شنبه 24 مرداد 1389, 11:33 صبح
با تشکر از جوابتون
میتونید یک سمپل بسازید و اینجا قرار دهید ؟
با سپاس

exlord
یک شنبه 24 مرداد 1389, 11:48 صبح
برای کدوم حالت ... ؟؟

si6arp
یک شنبه 24 مرداد 1389, 11:53 صبح
اگر برای هر دو حالب بسازید ممنون میشم.
میدونم شاید سخت باشه اما خوب خیلی از ماها ساید همچین چیزی رو بخوایم. (اجرت با آقا امام حسین ع :خجالت:)

exlord
یک شنبه 24 مرداد 1389, 16:12 عصر
1 -

<a href="#" onclick="setData('test.html')">content</a>
<iframe id="myFrame"></iframe>
function setData(page) {
$('#myFrame').src = page;
}2 - در این حالات کدی که دریافت میکنین از سرور نباید شامل تگهای html , head باشه و از body هم فقط باید داخلش باشه و نه خودش ...

<a href="#" onclick="getData('link1')">Link 1</a>

function getData(linkID) {
$.ajax({
type: "POST",
url: "test.aspx", //ya test.php fargi nemikone
data: "link=" + linkID + "&do=getdata",
success: function (data) { // function callback bad tamum shodan daryaft dade az server ejra mishe
$('#divcontent').html(data);
alert('Data Recived !')
}
});
}

3 - کدی که از سمت سرور میگیرین ...

<div>
//code html bedune taghaye head va html va body
</div>
<script type="text/javascript" language="javascript">
//codei ke mikhayn bad load shodan anjam beshe ... be surate azad na ye function
</script>