I'm writing a graphic captcha test that uses dragged icons.  I'm
trying to store the draggable objects in an array that is a member of
my Captcha class.  However, the code fails to work, without error or
warning message, if I try and set the member array elements as I call
'new Draggable'.  If I use a local array the code works.  Here's the
working code:

var Captcha = Class.create({

  _click: function( event ) {
    event.stop();
    this._icons.each( function( icon ) { icon.destroy(); } );  // free
    this._refresh();
  },  // end _click

  _Complete: function() {
    var icons = new Array();
    var options = { revert: true, constraint: 'horizontal' };
    $( 'captcha_refresh' ).observe( 'click',
this._click.bind( this ) );
    $$( '.draggable' ).each( function( el ) {
      icons.push( new Draggable( el.id, options ) );
    });
    this._icons = icons.clone();
  },  // end _Complete

  _refresh: function() {
    var options = { onComplete: this._Complete.bind( this ) };
    new Ajax.Updater( 'captcha', this._url, options );
  },  // end _refresh

  initialize: function() {
    this._url = './captcha.php';  // url of the captcha script
    this._icons = new Array();
    this._refresh();
  }  // end initialize

});  // end of captcha

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptacul...@googlegroups.com.
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to