In this code:

local_messages.prototype.send_attach_to_queue = function
(id_queue,form) {
        for(i=0;i<form.elements.length;i++) {
            if(form.elements[i].name.indexOf("file_")!=-1) {
                var tmp_input = form.elements[i];

                var d = new Date();
                var url_local = 'local_attachs/'+d.getTime();
                *this.store.captureFile(tmp_input, url_local);*
            }
        }
    }

I assume that:

1. form is a dom element something like form = getElementById
(html_id_of_the_form_element)
2. code of this function is not complete because id_queue is not used
in this function
3. you have a form with many <input type="file"... elements and you
iterate across them and capture all files. If this is not the case and
you have only one file element, do directlu tmp_input = getElementById
(html_id_of_the_FILE_element);

What I would do to debug this problem:

1. First I do not think this is a gears problem, I think this is an IE
problem
2. I would remove all other code and test with a basic setup:
Let only one file element in form, put an id on it and do something
like:

local_messages.prototype.send_attach_to_queue = function
(id_queue,form) {

                tmp_input = getElementById
(html_id_of_the_FILE_element);
                var url_local = 'local_attachs/'test_file;
                this.store.captureFile(tmp_input, url_local);
            }
        }
    }

3. If this works, I would put back the the code, but using i as
dynamic url:


local_messages.prototype.send_attach_to_queue = function
(id_queue,form) {
        for(i=0;i<form.elements.length;i++) {
            if(form.elements[i].name.indexOf("file_")!=-1) {
                var tmp_input = form.elements[i];
                var url_local = 'local_attachs/'+i;
                *this.store.captureFile(tmp_input, url_local);*
            }
        }
    }

4. if this still works, means the getTime() is the problem. As I know
getTime() function can return object on IE on some cases instead of
float.

Hope this helps


Please correct me if any of my assumption are incorrect.

On May 6, 4:54 pm, Diogenes Duarte <[email protected]> wrote:
> sorry, I forgot to say that I call init_local_messages before I call
> send_attach_to_queue.
>
> 2009/5/6 Diogenes Duarte <[email protected]>
>
> > I can show you the code...
>
> > function local_messages() {
> >         this.dbGears = null;
> >         this.localServer = null;
> >         this.store = null;
> >     }
>
> > local_messages.prototype.init_local_messages = function(){
> >         if(this.dbGears == null)
> >             this.dbGears = google.gears.factory.create('beta.database');
> >         if(this.localServer==null)
> >             this.localServer =
> > google.gears.factory.create('beta.localserver');
> >         if(this.store==null)
> >             this.store = this.localServer.createStore('test-store');
> > }
>
> > local_messages.prototype.send_attach_to_queue = function(id_queue,form) {
> >         for(i=0;i<form.elements.length;i++) {
> >             if(form.elements[i].name.indexOf("file_")!=-1) {
> >                 var tmp_input = form.elements[i];
>
> >                 var d = new Date();
> >                 var url_local = 'local_attachs/'+d.getTime();
> >                 *this.store.captureFile(tmp_input, url_local);*
> >             }
> >         }
> >     }
>
> > After bold line, on I.E, the app shows an alert with the message: "object
> > error". In firefox it works perfectly. I can't imagine why this is
> > happening... does anyone can see why?
>
> > I know the method is deprecated, but I can't change all my code to change
> > deprecated methods. at least, not now. we have plans for doing that in 2 or
> > 3 months, but, for now I really need the methods doing what they say they
> > do, even the deprecateds.
>
> > thanks for attention.
>
> > 2009/5/5 carise <[email protected]>
>
> >> Hi,
>
> >> Can you provide your code (especially the javascript)?
>
> >> On May 5, 6:10 am, Diogenes Duarte <[email protected]> wrote:
> >> > I have an app using captureFile method and it's working fine on firefox,
> >> but
> >> > crashes in I.E. It's the same code in both browsers, and in I.E shows an
> >> > alert that says: "Object Error". In the end, the function doesn't work.
>
> >> > Any idea why this is happening?
>
> >> > thanks for attention.

Reply via email to