captcha.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /**
  2. * Copyright © Magento, Inc. All rights reserved.
  3. * See COPYING.txt for license details.
  4. */
  5. /**
  6. * @deprecated since version 2.2.0
  7. */
  8. /* global formId */
  9. /* eslint-disable max-depth, no-lonely-if, strict */
  10. var Captcha = Class.create();
  11. Captcha.prototype = {
  12. /**
  13. * @param {*} url
  14. * @param {*} formId
  15. */
  16. initialize: function (url, formId) {
  17. this.url = url;
  18. this.formId = formId;
  19. },
  20. /**
  21. * @param {*} elem
  22. */
  23. refresh: function (elem) {
  24. window.formId = this.formId;
  25. if (elem) {
  26. Element.addClassName(elem, 'refreshing');
  27. }
  28. new Ajax.Request(this.url, {
  29. /**
  30. * @param {Object} response
  31. */
  32. onSuccess: function (response) {
  33. var json;
  34. if (response.responseText.isJSON()) {
  35. json = response.responseText.evalJSON();
  36. if (!json.error && json.imgSrc) {
  37. $(formId).writeAttribute('src', json.imgSrc);
  38. if (elem) {
  39. Element.removeClassName(elem, 'refreshing');
  40. }
  41. } else {
  42. if (elem) {
  43. Element.removeClassName(elem, 'refreshing');
  44. }
  45. }
  46. }
  47. },
  48. method: 'post',
  49. parameters: {
  50. 'formId': this.formId
  51. }
  52. });
  53. }
  54. };