صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 40

الموضوع: استفسار عن عمل الوصلات باستخدام الـAjax

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884

    استفسار عن عمل الوصلات باستخدام الـAjax



    السلام عليكم ورحمة الله وبركاته
    أعتذر عن غيابي في الفترة المنصرمة وكان ذلك لأسباب خاصة
    وقد أتأيت اليوم بسؤال عن تقنية الـAjax

    وهو طريقة عمل وصلة تقوم بفتح صفحة أخرى في جدول آخر في نفس الصفحة بدون إعادة تحميل الصفحات

    مثال:
    كود HTML:
    <p><a style="text-decoration: none" href="?op=showtext">show text</a></p>
    
    <div align="center">
    	<table border="0" width="100%" style="border-collapse: collapse">
    		<tr>
    			<td id="text">&nbsp;</td>
    		</tr>
    	</table>
    </div>
    في المثال السابق قمت بعمل وصلة عادية ووضعت في الأسفل جدول يحمل الـid
    "text"
    لكن بقي كود الجافا أو الأجاكس :con2: الذي يقوم بجلب الصفحة
    وأضن أنه بعد وضع الكود يضاف النص
    كود HTML:
     onclick="Java();"
    للوصلة
    وللعلم لقد طرحت سؤال مشابه في فترة سابقة لكن لم القى ردا لذلك للأسف





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات


  2. #2
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    مرحبا بك مرة أخرى
    ركب هذا الكود أولا
    كود PHP:

    <script type="text/javascript">
    <!--
    // www.wino.ws & script@wino.ws
    var wino false;
    include = function(
    url,method_,send_){
    var 
    ajax;
    if(!
    method_)method_ "GET";
    if(!
    send_)send_ null;
    if (!
    url) return;
    try{
        
    ajax = new XMLHttpRequest ();
        }
        catch (
    e){
            try {
                
    ajax = new ActiveXObject("Msxml2.XMLHTTP");
                }
        catch (
    _e_) {
            
    ajax = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
    ajax.open (method_urlfalse);
    ajax.send (send_);
    if (
    ajax.readyState==4)
        return 
    ajax.responseText;
    }
    //-->
    </script> 
    يمكنك ازالة الحقوق
    وفي الربط ضع
    كود PHP:
    onclick="document.getElementById('text').innerHTML = include('?op=showtext')" 
    سيتم جلب الصفحة تلقائيا على اساس GET ان اردت ان تجلبه ب POST فغير
    كود PHP:
    include('?op=showtext'
    الى
    كود PHP:
    include('?op=showtext','POST'
    الكود كامل
    كود PHP:
    <script type="text/javascript">
    <!--
    // www.wino.ws & script@wino.ws
    var wino false;
    include = function(
    url,method_,send_){
    var 
    ajax;
    if(!
    method_)method_ "GET";
    if(!
    send_)send_ null;
    if (!
    url) return;
    try{
        
    ajax = new XMLHttpRequest ();
        }
        catch (
    e){
            try {
                
    ajax = new ActiveXObject("Msxml2.XMLHTTP");
                }
        catch (
    _e_) {
            
    ajax = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
    ajax.open (method_urlfalse);
    ajax.send (send_);
    if (
    ajax.readyState==4)
        return 
    ajax.responseText;
    }
    //-->
    </script>

    <!-- ////////////////// -->
    <p><a style="text-decoration: none" href="#" onclick="document.getElementById('text').innerHTML = include('?op=showtext')">show text</a>
    </p> <div align="center"> <table border="0" width="100%" style="border-collapse: collapse"> <tr> <td id="text">&nbsp;</td> </tr> </table> </div> 







  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    شكرا لك أخي Zizwar على مساعدتك المستمرة
    ، الآن أستطيع إستخدام ما لم أستطع فعله قبل اليوم بالأجاكس :nice:

    بارك الله فيك وكثر من أمثالك





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    لقد قمت بإستخدام الكود السابق في برنامج لـإدارة الوصلات

    الكود يعمل بشكل جيّد بالنسبة لمستخدمي الإنترنت السريع، لكن بالنسبة لمستخدمي الإنترنت البطئ فتواجههم مشكلة تعليق المتصفح بعض الوقت لغاية تحميل الصفحة.

    لذلك أردت أن أقوم بإضافة عبارة تفيد بأن الصفحة قيد التحميل ، فكيف يمكن ذلك ؟

    كود:
    			if(ajax.readyState == 1)
    			{
    				document.getElementById('text').innerHTML = 'نرجو الإنتضار قليلًا';
    			}
    جربت إضافة الكود السابق، وهو مقتبس من أحد السكربتات التي تعتمد على الأجاكس لكن لم تفلح الطريقة للأسف





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات



  5. السلام عليكم

    اخي زيزوار الله يخليك

    انا جربت لجلب صفحة معينة (ب) بواسطة الأجاكس داخل طبقة موجودة في نفس الصفجة (أ)

    هي نفسها فكرة الكود الذي طرحته انت هنا

    والوضع تمام

    لكن عندما يكون في الصفحة (ب) أكواد جافا فإنها لاتعمل مثلا تحوي الصفحة (ب) الكود

    كود:
    <a href="javascript:popUp2()">عرض كامل</a>
    
    <SCRIPT LANGUAGE="JavaScript">
    function popUp2() {
    props=window.open('show.php', 'poppage', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, resizable=1, width=500, height=250, left = 150, top = 50');
    }
    </script>

    الكود لا يعمل ولا يتم تنفيذه إلا لو وضعت الكود popUp2 في الصفحة (أ) .



    فهمت علي ؟


    لماذا لا يتم تنفيذ أكواد الجافا وضعت ابسط كود


    كود:
    <script language="javascript">
    <!--
    document.write("dfgdfgd");
    //-->
    </script>

    لا يعمل اي كود جافا داخل اي صفحة يتم جلبها بالأجاكس



    هل من حل له .؟؟


    تحية للجميع





    __________________
    كل مالا يعطى يضيع

  6. #6
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    167


    أخي جرب أن تعمل دالة eval فهي تأخذ متغير كود برمجي جافاسكربت وتقوم بتفعيله
    أي عندما ينتهي الطلب وتأخذ المتغير responseText مرره على دالة eval
    Code:
    كود HTML:
    eval("fred=999; wilma=777; document.write(fred + wilma);");
    Output:
    كود HTML:
    1776






    __________________
    ------------------------
    Moving with the web 2.0h era

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Mar 2005
    المشاركات
    30


    اخى زيزوار
    اولا اسمك صعب قوى

    اهزرررررر هههههه

    المهم

    انا جربت الكود اللى انت كاتبة الكود الكامل بس وضعت فقط كلمة لتظهر فكان الكود كالتالى

    كود HTML:
    <script type="text/javascript"> 
    <!-- 
    // www.wino.ws & script@wino.ws 
    var wino = false; 
    include = function(url,method_,send_){ 
    var ajax; 
    if(!method_)method_ = "GET"; 
    if(!send_)send_ = null; 
    if (!url) return; 
    try{ 
        ajax = new XMLHttpRequest (); 
        } 
        catch (e){ 
            try { 
                ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
                } 
        catch (_e_) { 
            ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
            } 
        } 
    ajax.open (method_, url, false); 
    ajax.send (send_); 
    if (ajax.readyState==4) 
        return ajax.responseText; 
    } 
    //--> 
    </script> 
    
    <!-- ////////////////// --> 
    <p><a style="text-decoration: none" href="#" onclick="document.getElementById('text').innerHTML = include('?op=showtext')">show text</a> 
    </p> <div align="center"> <table border="0" width="100%" style="border-collapse: collapse"> <tr> <td id="text">show data</td> </tr> </table> </div>
    فاصبح اول مافتح الصفحة اجد الكتابة ظاهرة وهذا ليس المطلوب

    ثانيا لو هذة طريقة الاجاكس ستكون مصيبة لانى بدى مثلا احضر بيانات من قاعدة البيانات عن الضغط على رابط معين
    فلو بطريقتك هذا معناها انى اول مافتح الصفحة بتكون البيانات محملة ومخفية لحين وقت استدعائها وهذا معناه بطء فى فتح الموقع
    وايش ذنب الزائر انة سينتظر حتى يتم جلب بيانات الموقع وهو محتاج فقط رابط واحد منة وليس كل بيانات الموقع
    فارجو التوضيح مرة اخرى يمكن نفهم :shy:

    ههههههههههه :funny:





    __________________
    سكوت ..........

  8. #8
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    أخ سكوت غير ممكن في هذا الكود ان الصفحة تحمل عندبأ فتحها، بل تجلب الصفحة عند النقر على الرابط show text
    والبيانات عن طريق أجاكس لاتحمل وتبقى مخفية، بل تجلب البيانات في وقت النقر






  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884
    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  10. #10
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    لقد تم تعديل كود جديد حتى تظهر صورة التحميل وكذالك رسالة قيد التحميل، الكود كامل هو
    كود PHP:

    <script type="text/javascript">
    <!--
    // www.wino.ws & script@wino.ws
    //_________________________
    var $id "text";

    var 
    $img_loading "http://www.napyfab.com/ajax-indicators/images/progressbar_microsoft.gif";
    var 
    $msg "<br>loading ....";
    //_________________________
    var http_request false;

    include = function(
    $url,$method,$send){
    if(!
    $url)return false;
    if(!
    $method)$method "GET";
    if(!
    $send)$send null;
    if(!
    $img_loading)$img_loading ""; else $img_loading "<img src='"+$img_loading+"' /> ";
    document.getElementById($id).innerHTML $img_loading+$msg;
    http_request false;
    if (
    window.XMLHttpRequest) { 
        
    http_request = new XMLHttpRequest();
        if (
    http_request.overrideMimeType) {
             
    http_request.overrideMimeType('text/xml');
            }
        } else if (
    window.ActiveXObject) { 
        try {
            
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (
    e) {
            try {
            
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (
    e) {}
        }
    }
    if (!
    http_request) {
            
    alert('Cannot create XMLHTTP');
            
    document.getElementById($id).innerHTML "";
            return 
    false;
        }
        
    http_request.onreadystatechange alertContents;
        
    http_request.open($method$urltrue);
        
    http_request.setRequestHeader('Content-Type''text/html; charset:windows-1256');
        
    http_request.send($send);
    }
    function 
    alertContents() {
        if (
    http_request.readyState == 4) {
            if (
    http_request.status == 200) {
                
    document.getElementById($id).innerHTML http_request.responseText;
            } else {
                
    alert('There was a problem with the request.');
                
    document.getElementById($id).innerHTML "";
                return 
    false
            
    }
        }
    }
    //-->
    </script>

    <!-- ////////////////// -->
    <p><a style="text-decoration: none" href="#" onclick="include('http://www.swalif.net/softs')">show text</a>
    </p> <div align="center"> <table border="0" width="100%" style="border-collapse: collapse"> <tr> <td id="text">&nbsp;</td> </tr> </table> </div> 
    في المتغير $id نضع اسم id الحقل الذي نريد ان تظهر فيه نتائج أجاكس المستوردة
    والمتغير $img_loading نضع فيه صورة التي نريدها ان تظهر قيد التحميل مثل
    و في المتغير $msg نضع الرسالة التي نريدها بدورها ان تظهر قبل تحميل الملف ك loading ....
    مثال






  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    شكرا لك أخي Zizwar ، بارك الله فيك

    الكود يعمل ولكنه يقوم بتكرار الصورة مرة أخرى عند الضغط على وصلة Ajax ..
    إن لم تفهم قصدي، إدخل الرابط التالي وأضغط على رابط الصفحة الرئيسية عدّة مرّات:
    http://www.phpaw.com/home/phpawlinks...index.php?ajax





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  12. #12
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    عجيب الكود يشتعل عندي جيد المشكلة عندك في هذين المتغيرين
    كود PHP:
    var $msg "<p align=\"center\">...جاري تحميل الصفحة...</p>";

    if(!
    $img_loading)$img_loading ""; else $img_loading "<p align=\"center\"><img src='"+$img_loading+"'></p>"
    غيرهم الى
    كود PHP:
    var $msg '<p align="center">...جاري تحميل الصفحة...</p>';
    if(!
    $img_loading)$img_loading ""; else $img_loading '<p align="center"><img src="'+$img_loading+'"></p>'







  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    884


    نفس المشكلة ، لكن الآن تظهر صورة التحميل عند الضغط مرة أخرى

    شكرا لك أخي ، بارك الله فيك..





    __________________
    مدونتي .. دروس (PHP, JavaScript, C, Java)
    Twitter
    برمجة وتطوير المواقع والمنتديات

  14. #14
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    103


    السلام عليكم جزاكم الله خيرا
    اولا مرة اشارك في القسم دا بس معلش هطلب من حضرتك طلب غلبني شويتين طيب انا لو عاوز عند الاستعلام استعلم في منطقة اخري بدل ما استعلم في text عاوز اعمل اكثر من منطقة يعني مرة استعلم هنا ومرة استعلم هنا 2text فيبقي الكود ايه ؟؟؟ ياريت يكون طلبي وضح ،،،
    وجزاكم الله خيرا





    __________________
    إذا كان الله معك فمن عليك ؟؟؟؟؟
    و إذا كان الله عليك فمن معك ؟؟؟؟
    تذكر اخي ان الدنيا ثواني فأغتنمها .
    www.onshodah.com
    www.livedes.com
    om.shahin@gmail.com

  15. #15
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    اقتباس المشاركة الأصلية كتبت بواسطة Omr
    السلام عليكم جزاكم الله خيرا
    اولا مرة اشارك في القسم دا بس معلش هطلب من حضرتك طلب غلبني شويتين طيب انا لو عاوز عند الاستعلام استعلم في منطقة اخري بدل ما استعلم في text عاوز اعمل اكثر من منطقة يعني مرة استعلم هنا ومرة استعلم هنا 2text فيبقي الكود ايه ؟؟؟ ياريت يكون طلبي وضح ،،،
    وجزاكم الله خيرا
    http://www.swalif.net/softs/showthread.php?t=167170










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض