2013-09-24 10 views
5

के लिए अजाक्स रीफ्रेश बनाने के लिए कैसे करें मैं अपने डीजेंगो आधारित वेबसाइट के लिए django-simple-captcha ऐप का उपयोग कर रहा हूं, मैं कैप्चा फॉर्म फ़ील्ड को मेरे रूप में एकीकृत करने में सक्षम हूं, लेकिन समस्या यह है कि कैसे क्या मैं एक बटन बना सकता हूं जो क्लिक पर कैप्चा छवि को रीफ्रेश करने के लिए अजाक्स रीफ्रेश करता है? ऐप के लिए प्रलेखन बहुत स्पष्ट नहीं है, और मैंने प्रलेखन में दिए गए उदाहरण का पालन करने की कोशिश की लेकिन यह काम नहीं करता है। कृपया इस मुद्दे पर मेरी मदद करें?डीजेंगो-सरल-कैप्चा

संपादित करें: django-simple-captcha

उत्तर

15

यहाँ जावास्क्रिप्ट में एक काम कार्यान्वयन है:: यहाँ Django पैकेज के लिए लिंक है

$(function() { 
    // Add refresh button after field (this can be done in the template as well) 
    $('img.captcha').after(
      $('<a href="#void" class="captcha-refresh">Refresh</a>') 
      ); 

    // Click-handler for the refresh-link 
    $('.captcha-refresh').click(function(){ 
     var $form = $(this).parents('form'); 
     var url = location.protocol + "//" + window.location.hostname + ":" 
        + location.port + "/captcha/refresh/"; 

     // Make the AJAX-call 
     $.getJSON(url, {}, function(json) { 
      $form.find('input[name="captcha_0"]').val(json.key); 
      $form.find('img.captcha').attr('src', json.image_url); 
     }); 

     return false; 
    }); 
}); 

तो फिर तुम सिर्फ वर्ग captcha-refresh के लिए कुछ सीएसएस जोड़ने की जरूरत है, शायद एक जगह <a> में छवि और आप जाने के लिए अच्छे हैं!

+0

धन्यवाद! यह किया :) :) – csharpnewbie

+0

बहुत बहुत धन्यवाद, यह कोड मेरे लिए भी काम करता है !!! – zhihong

+0

धन्यवाद: डी यह वही है जो मैं देख रहा हूं –