मैं कैसे सर्वर पर पोस्टिंग जब प्रोटोटाइप का उपयोग करने से मेरी अजाक्स कॉल रख सकते हैं?

वोट
0

मैं अपने रखने के लिए कोशिश कर रहा हूँ अजाक्स सर्वर पर पोस्टिंग जब का उपयोग करने से कॉल प्रोटोटाइप

कोड:

echo  <a href='my.php?action=show&amp;id=.$fid.'
onclick=\return  display('.$fid.');\> ;  
echo  .$fname.</a> ;

मैं यह कैसे कर सकता हूँ?

07/04/2009 को 03:16
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
4

आपका display()कार्य करना चाहिए return false;होने से डिफ़ॉल्ट लिंक कार्रवाई को रोकने के लिए।

07/04/2009 को 03:19
का स्रोत उपयोगकर्ता

वोट
0

यह करने के लिए बहुत आसान है (हालांकि मैं के माध्यम से unobtrusively यह करने के लिए प्रोत्साहित करते हैं Event.observe()पैटर्न में विस्तार से बताया http://prototypejs.org/api/event )।

यहाँ एक समाधान है कि प्रोत्साहन मैं सिर्फ दिया का पालन नहीं करता है (अपने कोड के ज्यादा के लिए बदल रहा है और आप के लिए आसान देखने के लिए यह क्या कर रहा है की अनुमति नहीं दे की खातिर।)।

echo " <a href='my.php?action=show&amp;id=".$fid."'
        onclick=\"Ajax.Request(this.href); return false;\"> ";
echo "" .$fname."</a> ";

क्या बेहतर हो सकता है, 'XHR' और फिर एक XHR वर्ग के साथ सभी लिंक unobtrusively खोजने और एक क्लिक के लिए निरीक्षण और उसके बाद बंद आग की तरह कुछ इस लिंक करने के लिए एक वर्ग को जोड़ने है XMLHttpRequest अनुरोध। यहाँ मैं यह कैसे कर होता है।

आपके शरीर में तो, के लिए लिंक तत्व बदलने के लिए:

echo '<a href="my.php?action=show&amp;id=' . $fid .'" class="xhr">' . $fname . '</a> ';

अब कहीं अपनी स्क्रिप्ट क्षेत्र कार्य करें:

<script type="text/javascript" charset="utf-8">
    ....
    // Wait for the DOM to be loaded (http://prototypejs.org/api/document/observe)
    document.observe('dom:loaded',function(){
       // Use Prototype's $$ utility method to find all the link's
       // with class xhr (http://prototypejs.org/api/utility/dollar-dollar)
       $$('a.xhr').each(function(link_element){
           // Iterate through each of these links and attach the following observer.
           link_element.observe('click', function(click_event){
               Ajax.Request(link_element.href);
               // stop() will cancel the click-event from "doing" anything else
               // http://prototypejs.org/api/event/stop
               click_event.stop();
           });
       });
    });
</script>

अब क्या होता है, के बाद है डोम भार (लेकिन पृष्ठ प्रदर्शित होता है से पहले) अपने क्लिक-प्रेक्षक वर्ग 'XHR' के साथ सभी लिंक-तत्वों के साथ संलग्न किया जाएगा। यह क्लिक करें घटना कैप्चर करता है, एक XMLHttpRequest अनुरोध को वापस ले आग, और फोन करके डिफ़ॉल्ट क्रिया (इस मामले एक पृष्ठ पर लिंक का पालन में) preforming से घटना से बचाता है बंद () विधि।

07/04/2009 को 11:15
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more