الاثنين، 29 يونيو، 2009

إسناد نتيجة تنفيذ التابع load في مكتبة jQuery إلى متحول

يستخدم التابع load لتحميل جزء من المحتوى أو كامل المحتوى لصفحة ما وذلك باستخدام الصيغة التالية:
load(url, [data], [callback])
حيث يتم إسناد القيمة المرتجعة من التابع load إلى المحدد الذي يسبق استدعاء التابع load.

لنفترض أن لدينا صفحة اسمها url.htm وتحتوي على البيانات التالية:


<!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>
<title></title>
</head>
<body>
<div id="divContainer">
<ul>
<li>Hello</li>
<li>Ismail</li>
</ul>
</div>
</body>
</html>



سنستخدم التابع load من مكتبة jQuery للحصول على محتوى العنصر div(divContainer) كما يلي:


<!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>
<title></title>

<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var h = '';
$(function() {
$('').load('UrlToFetch.htm #divContainer ul', function(x, y, z) {
h = $(x).html();
alert(h);
});
});
</script>
</head>
<body>
<div id="div"></div>
</body>
</html>



التابع load تم استدعاؤه بتمرير مسار الصفحة إضافة إلى المحدد الذي سيستخدمه التابع لترشيح البيانات التي سيسترجعها من الصفحة url.htm, كما تم تحديد الوسيط callback لتمرير تابع استدعاء عكسي للحصول على القيمة المطلوبة باستخدام السطر:


h = $(x).html()

هناك 7 تعليقات:

  1. أستاذنا كيف تحل مشكة الترميز
    حسن

    ردحذف
  2. سيد حسن أهلاً بك, ولكن ماهي مشكلة الترميز التي تتكلم عنها لأنني أستخدم التابع load في عدة مشاريع ولم تواجهنا مشكلة ترميز أبداً, فإن ظهرت هذه المشكلة لديك فأرجو طرح التفاصيل كاملة ليتسنى لنا مساعدتك إضافة إن كان لديك ملف مرفق أرجو إرساله إلى بريدي الإلكتروني

    ismaeel.enjreny@gmail.com

    وإن شاء الله سنحل هذه المشكلة

    ردحذف
  3. الاستاذ اسماعيل
    أسعد الله أوقاتك بكل خير
    سعدت عندما رأيت ردك وأسفت أني انشغلت بالدوام ولم أحظ بفرصة متابعة ردك

    بالنسبة لمشلكة الترميز لدي موقع بترميز الويندوز العربي وقمت بإضافة وظيفة load لتحميل أجزاء أخرى من الموقع في الصفحة الرئيسية وهذه الأجزاء لم تكن تحوي ترويسة صفحة هتمل وإنما عنصر طبقة div مع مايحتويه
    والنتيجة كانت أن قام load بتحميل الجزء داخل الصفحة الرئيسية ولكن بترميز utf8 وعند تغيير الترميز المراد إظهار الصفحة وفقه في المستكشف إلى utf8 يظهر الجزء المحمل صحيحا وطبعا تتخرب بقية محتويات الصفحة

    المشكلة أني أكره إعادة الكتابة كثيرا وكان من الممكن حل المشكلة باعتماد الترميز utf8 في كل الموقع
    وهنا يبرز سؤال آخر ما رأيك باعتماد الترميز هذا في التصيم
    ولك الشكر موصولا

    أخوكم حسن

    ردحذف
  4. How can I get the value of div form another page

    ردحذف
  5. بالنسبة للحصول على قيمة div من صفحة أخرى يكن استخدام التابع Load حيث تستطيع تمرير اسم الصفحة واسم id الـ div الذي تريد الحصول على المحتوى الذي بداخله

    ردحذف