PDA

View Full Version : تغيير به يك آدرس از صفحه فراخواني شده با ايجكس



parselearn
شنبه 26 تیر 1389, 18:12 عصر
سلام
من صفحه اي رو با ايجكس فراخواني كردم در يك div
حالا ميخوام صفحه اصلي (فرمانده) رو طبق شرطي كه در صفحه اي كه با ايجكس فراخواني كردم تغيير بدم

با header اين كارو كردم اما صفحه اصلي تغيير نمي كنه!
بايد چي كار كرد؟

Bahram0110
شنبه 26 تیر 1389, 22:55 عصر
با جاوا اسکریپت انجام بدین

البته جاوا اسکریپت بطور عادی اجرا نمی شه و می تونید از تابع زیر برای اجرای اون استفاده کنید :


function ExecJS(responseText) {
var ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:</script>)';
var match = new RegExp(ScriptFragment, 'img');
var scripts = responseText.match(match);
if(scripts){
var js = '';
for(var s = 0; s < scripts.length; s++) {
var match = new RegExp(ScriptFragment, 'im');
js += scripts[s].match(match)[1];
}
eval(js);
}
}


مثلا :


ExecJS(XHR.responseText);


کد تغییر صفحه را در response قرار بدین و توسط تابع بالا اون رو اجرا کنید

zabihollah
شنبه 10 اردیبهشت 1390, 13:42 عصر
سلام
من هم مشكل دوستمون رو دارم و حقيقت اينه كه نفهميدم پاسخي كه داده شده چطور بكار برده ميشه
اگه يكي از دوستان لطف كنه يه مثال كاملتر بزنه ممنون ميشم

ArtMiz
یک شنبه 11 اردیبهشت 1390, 00:21 صبح
از اين شكل كد جاوا اسكريپت اسفاده كن، حل ميشه
window.location="آدرس"
البته اگه درست مشكلتو فهميده باشم!

zabihollah
دوشنبه 12 اردیبهشت 1390, 12:45 عصر
از اين شكل كد جاوا اسكريپت اسفاده كن، حل ميشه
window.location="آدرس"
البته اگه درست مشكلتو فهميده باشم!
سلام
نه دوست عزيز با اين كد صفحه داخل فريم باز ميشه
ببينيد من يه صفحه اصلي دارم كه داخلش يه جدول با دو ستون است . در ستون اول منو وجود داره و در ستون دوم صفحاتي كه از طريق منو انتخاب ميشن در يك iframe باز ميشه
فرض كنيم در صفحه اي كه در iframe باز شده عمليات خاصي انجام بشه ميخوام اگر نتيجه علميات مثبت بود گزينه اي به ستون اول در صفحه اصلي اضافه بشه
مشكل اينجاست كه تا صفحه اصلي را رفرش نكنم اون گزينه ظاهر نميشه
دوستان گفتند با اجاكس ميشه اما لطف نكردن و كد اجاكس را نشونم بدن

sedamorde
دوشنبه 12 اردیبهشت 1390, 16:58 عصر
باید آدرس صفحه اصلی را بدی، مثلا :


window.parent.document

parent مشخص میکنه که جاوا در صفحه اصلی کار بکنه.

zabihollah
سه شنبه 13 اردیبهشت 1390, 01:34 صبح
سلام
من موفق نشدم لطفا اگر ممكنه يه مثال عيني بزنيد تا دقيقا بدونم چكار كنم
فرض بر اينه كه صفحه لوگين داخل iframe باز شده و با لوگين كاربر ، منوي كاربري در صفحه والد نمايش داده ميشه

sedamorde
سه شنبه 13 اردیبهشت 1390, 07:28 صبح
دوست عزیز کاری که شما میخوای انجام بدی کمی کد نویسی جاوا داره...

دستور window مشخص میکنه که درخواست در همین پنجره باید انجام بشه. window.parent مشخص میکنه که درخواست باید در پنجره اصلی انجام بشه. ساده بگم parent در اینجا منظور صفحه ای است که اول باز شده.
برای کاری که شما میخواهید بکنید من پیشنهاد میکنم از jquery استفاده کنید. در jquery هم اینطوی پنجره اصلی مشخص میشه :


$('#id', window.parent.document).html('Test');


موفق باشی :)