मैं अपने php पेज में एक ज़ेंड कैप्चा लागू करता हूं अब मुझे कैप्चा रीलोड बटन जोड़ने की आवश्यकता है। ज़ेंड के अनुसार उत्तर दें।क्लिक रीफ्रेश बटन पर ज़ेंड कैप्चा छवि को फिर से लोड कैसे करें?
उत्तर
बस दो त्वरित स्निपेट लेकिन मुझे लगता है कि आपको यह विचार मिल जाएगा। अपनी जरूरतों के लिए तत्व का नाम और चयनकर्ता समायोजित करें।
अपने नियंत्रक में एक विधि जोड़ने
document.addEvent('domready', function() {
$$('#contactForm img').addEvent('click', function() {
var jsonRequest = new Request.JSON({
url: "<?= $this->url(array('controller' => 'contact', 'action' => 'refresh'), 'default', false) ?>",
onSuccess: function(captcha) {
$('captcha-id').set('value', captcha.id);
$$('#contactForm img').set('src', captcha.src);
}
}).get();
});
});
संपादित एक ताजा कैप्चा
public function refreshAction()
{
$form = new Form_Contact();
$captcha = $form->getElement('captcha')->getCaptcha();
$data = array();
$data['id'] = $captcha->generate();
$data['src'] = $captcha->getImgUrl() .
$captcha->getId() .
$captcha->getSuffix();
$this->_helper->json($data);
}
आपके विचार स्क्रिप्ट में उत्पन्न करने के लिए (मैं ajax-अनुरोध के लिए mootools उपयोग कर रहा हूँ): जोड़ा गया Pahan के jQuery
$(document).ready(function() {
$('#refreshcaptcha').click(function() {
$.ajax({
url: '/contact/refresh',
dataType:'json',
success: function(data) {
$('#contactForm img').attr('src', data.src);
$('#captcha-id').attr('value', data.id);
}
});
});
});
कोड के लिए धन्यवाद, आकर्षण की तरह काम करता है :) इसे पढ़ने के बाद मैंने jquery का उपयोग किया। '$ (दस्तावेज़) .ready (function() {$ ('# refreshcaptcha')। क्लिक करें (फ़ंक्शन() {$ .ajax ({url: '/ contact/refresh', डेटा टाइप: 'जेसन', सफलता: फ़ंक्शन (डेटा) {console.log (डेटा) $ ('# contactForm img')। attr ('src', data.src); $ ('# कैप्चा-आईडी')। attr ('value', data.id); }});});}); ' – pahan
@pahan आपका स्वागत है। मैंने बाद में संदर्भ के लिए आपके उत्तर में अपनी jquery स्क्रिप्ट जोड़ा। धन्यवाद। –
हाय, मुझे एक ही समस्या का सामना करना पड़ रहा है, मुझे पता है कि आपका रिफ्रेश कैप्चाचा क्या तत्व है, मेरा आईएमजी है लेकिन मैं काम नहीं करूँगा? – user236501
@Benjamin क्रेमर कोड के लिए धन्यवाद, की तरह काम करता आकर्षण इस पढ़ने के बाद मैंने jquery का उपयोग किया।
$(document).ready(function() {
$('#refreshcaptcha').click(function() {
$.ajax({
url: '/contact/refresh',
dataType:'json',
success: function(data) {
$('#contactForm img').attr('src',data.src);
$('#captcha-id').attr('value',data.id);
}
});
});
});
@ user236501 वास्तव में यह (उदाहरण के बटन के लिए) Zend फ़ॉर्म एलीमेंट किसी भी प्रकार का हो सकता है।
$this->getElement('captcha')->getDecorator('Description')->setOptions(array(
'escape' => false,
'style' => 'cursor: pointer; color: #ED1C24',
'tag' => 'div'
));
यह किया जा सकता है: उदाहरण के लिए
$captcha = new Zend_Form_Element_Captcha('captcha', array(
'label' => 'Some text...',
'captcha' => array(
'captcha' => 'Image',
'wordLen' => 6,
'timeout' => 300,
'font' => './fonts/Arial.ttf',
'imgDir' => './captcha/',
'imgUrl' => 'http://some_host/captcha/'
),
'description' => '<div id="refreshcaptcha">Refresh Captcha Image</div>'
));
लेकिन उस मामले Description
डेकोरेटर के विकल्प में संशोधित किया जाना चाहिए,: आप भी इस तरह Zend_Form_Element_Captcha विवरण विकल्प के रूप में क्लिक करने योग्य ताज़ा लिंक प्रस्तुत कर पाते हैं फॉर्म का init()
विधि। मेरी अंग्रेजी के लिए खेद है। Btw मुझे यकीन है कि अगर मैं सही जगह में मेरी टिप्पणी डाल नहीं हूँ,)
config/autoload/global.php
में जोड़ने के निम्नलिखित'view_manager' => array( 'strategies' => array( 'ViewJsonStrategy','Zend\View\Strategy\PhpRendererStrategy' ), ),
Ajax
अंदर
Yourmodule/Ajax
बनाने एक नया फ़ोल्डर बनाने एक फ़ाइलAjaxController.php
namespace YourModule\Ajax; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\JsonModel; use YourModule\Forms\SignupForm; class AjaxController extends AbstractActionController { public function refreshSignupCaptchaAction(){ $form = new SignupForm(); $captcha = $form->get('captcha')->getCaptcha(); $data = array(); $data['id'] = $captcha->generate(); $data['src'] = $captcha->getImgUrl().$captcha->getId().$captcha->getSuffix(); return new JsonModel($data); } }
जोड़ें मार्ग के अंदर
module.config.php
'yourmodule-ajax' =>array( 'type' => 'segment', 'options' => array( 'route' => '/yourmodule/ajax/:action', 'constraints' => array( 'action' => '\w+', ), 'defaults' => array( 'controller' => 'YourModule\Ajax\AjaxController', ) ), ),
पिछले अपने खाके में, मैं तुम्हें jQuery
<div class="form-group"> <div id="captcha" class="control-group <?php echo count($form->get('captcha')->getMessages()) > 0 ? 'has-error' : '' ?>"> <?php echo $this->formLabel($form->get('captcha')); ?> <div class="col-xs-12 col-sm-6"> <a id="refreshcaptcha" class="btn btn-default pull-right">Refresh</a> <?php echo $this->formElement($form->get('captcha')); ?> <?php echo $this->formElementErrors($form->get('captcha')); ?> </div> </div> </div> <script type="text/javascript"> $(function(){ $('#refreshcaptcha').click(function() { $.ajax({ url: '<?php echo $this->url('yourmodule-ajax', array('action'=>'refreshSignupCaptcha')) ?>', dataType:'json', success: function(data) { $('#captcha img').attr('src', data.src); $('#captcha input[type="hidden"]').attr('value', data.id); $('#captcha input[type="text"]').focus(); } }); return false; }); }); </script>
YourModule/src/YourModule
में
- 1. सरल कैप्चा रीफ्रेश करें
- 2. ट्रीस्टोर को फिर से लोड कैसे करें?
- 3. फिर क्लिक करें फिर से सक्षम करें क्लिक करें jQuery
- 4. ट्विटर बटन को फिर से लोड कैसे करें?
- 5. कुछ बटनों के क्लिक पर मेरे UIViewController को फिर से लोड कैसे करें?
- 6. बटन को अक्षम कैसे करें क्लिक करें?
- 7. gdbinit को फिर से लोड कैसे करें?
- 8. क्लिक किए जाने पर बटन को कैसे अक्षम करें
- 9. ज़ेंड फॉर्म में कैप्चा कैसे जोड़ें?
- 10. छवि दृश्य को तुरंत रीफ्रेश कैसे करें
- 11. उपयोगकर्ता को कैसे जांचें, रीफ्रेश बटन पर क्लिक करें या x
- 12. F5 या रीफ्रेश बटन दबाए जाने पर पृष्ठ के केवल एक हिस्से को रीफ्रेश करें
- 13. पिक्चरबॉक्स को रीफ्रेश कैसे करें
- 14. ब्राउज़र के रीफ्रेश बटन पर क्लिक होने पर एक अलर्ट बॉक्स कैसे पॉप अप करें?
- 15. बटन पर क्लिक करें पृष्ठ पर क्लिक करें ईवेंट
- 16. अनुकरण बटन पर क्लिक करें
- 17. तालिका एनीमेशन को फिर से लोड करें
- 18. वापस बटन रीफ्रेश पृष्ठ
- 19. श्रोताओं बटन पर क्लिक करें
- 20. लेबल बटन पर क्लिक करें रेडियो बटन
- 21. गैलरी से छवि दृश्य में कोई छवि कैसे लोड करें?
- 22. आवेदन/पीडीएफ के एम्बेड को रीफ्रेश/पुनः लोड कैसे करें?
- 23. बटन पर रीबूट करें बटन पर क्लिक करें
- 24. ValueChangeEvent से JSF पृष्ठ को फिर से लोड कैसे करें?
- 25. UITableViewCell को रीफ्रेश कैसे करें?
- 26. रद्द करें बटन पर क्लिक करें ShowInputDialogue
- 27. JQuery/जावास्क्रिप्ट - ट्रिगर बटन पर क्लिक करें एक और बटन क्लिक करें घटना से
- 28. रीफ्रेश किए बिना यूआरएल को फिर से लिखना, जैसे GitHub.com
- 29. कैप्चा छवि - एएसपी.नेट
- 30. jQuery रीफ्रेश/सफलता के बाद पृष्ठ को फिर से लोड करें
प्रयोग कर रहे हैं मान यह Zend_Captcha के डिफ़ॉल्ट व्यवहार है। क्या आप अपनी समस्या का वर्णन करने के लिए कुछ उदाहरण कोड प्रदान कर सकते हैं? – leek