"I think the main solution to the problem was making sure the formOBJ
was extended via $() so that it would have the toQueryString() method
available, at least for IE that solved the problem."

Thats the main point, IE elements doesnt get extended by $() by default.
You have to use it if you use document.body, for example (you should have to
use $(document.body)).

Fábio Miranda Costa
Engenheiro de Computação
http://meiocodigo.com


On Fri, Feb 20, 2009 at 3:53 PM, kfancy <[email protected]> wrote:

>
> Hi Fábio,
>
> That solution worked... thanks!
>
> Hi Itay, thanks for the other input as well. FYI, my page is standards-
> compliant with proper tag nesting.
> I have always used the send(formOBJ.toQueryString()) syntax, because I
> found that in mootools docs or examples, and it has worked fine with
> all other browsers (and other forms for that matter)...
>
> I think the main solution to the problem was making sure the formOBJ
> was extended via $() so that it would have the toQueryString() method
> available, at least for IE that solved the problem.
>
> cheers
>
> On Feb 20, 10:41 am, Fábio Costa <[email protected]> wrote:
> > You should use $(myformobject).toQueryString()
> >
> > Fábio Miranda Costa
> > Engenheiro de Computaçãohttp://meiocodigo.com
> >
> > On Fri, Feb 20, 2009 at 3:28 PM, Itay Moav <[email protected]>
> wrote:
> > > Oh, and why do you put params in the send method? If it is activated on
> a
> > > FORM it will do the collection by itself.
> >
> > > On Fri, Feb 20, 2009 at 1:27 PM, Itay Moav <[email protected]
> >wrote:
> >
> > >> Your HTML is good , i.e. STANDARD XHTML?
> > >> No form tag in wrong place, no open tags etc?
> >
> > >> On Fri, Feb 20, 2009 at 12:46 PM, kfancy <[email protected]> wrote:
> >
> > >>> I'm encountering the dreaded "Object doesn't support this property or
> > >>> method" error on IE7 / Vista, while trying to submit form data via a
> > >>> Request object.
> >
> > >>> This works fine, but I have to jump through the hoops and collect my
> > >>> own data (please note that all variables are properly initialized for
> > >>> passing via the data:{} object):
> >
> > >>> var ajrq = new Request({
> > >>>        url:"handler.php",
> > >>>        onSuccess: function(responseText, responseXML) {
> > >>>                update_page(responseText);
> > >>>        },
> > >>>        onFailure: function() { alert("Request failed."); }
> > >>> }).send({data:{ var1:var1_txt, var2:var2_txt, var3:var3_txt,
> > >>> var4:var4_txt }});
> >
> > >>> However, if I change my send() line to use the built-in
> toQueryString,
> > >>> then IE throws an error:
> >
> > >>> var ajrq = new Request({
> > >>>        url:"handler.php",
> > >>>        onSuccess: function(responseText, responseXML) {
> > >>>                update_page(responseText);
> > >>>        },
> > >>>        onFailure: function() { alert("Request failed."); }
> > >>> }).send(myformobject.toQueryString());
> >
> > >>> myformobject is a reference to my HTML form, passed via this.form
> > >>> object from the submit button click event.
> >
> > >>> My form doesn't have anything tricky, just the standard input types
> > >>> (text, textarea, select, hidden, checkbox).
> >
> > >>> Has anybody else encountered this problem, and/or have a solution?
>

Reply via email to