Today is an ExtJS AJAX Request error day

This morning I thought to my self today is going to be a fun day. As we all know programming is fun (some of us tend to be masochists) but not completely stable issue and when we are talking JavaScript some  of us will find their way to the coffee table looking for something better to do. (maybe writing a new bean?)

Anyway, it's not that I was bored just that I had a task to do and my nature tells me, use FF (FireFox - as to now is my favorite browser, maybe Google Chrome will later change my mind, but we'll see about that) I was writing this kick ass ## code, everything went smooth until, after a while my occipital and frontal lobes were telling me to check things on the Internet Explorer. What can I do the customer pays and we have to follow. Here is where things went wrong and you can take a look in the following links what I'm talking about, :;

Try to guess what has happened?
(a) All went smooth.
(b) Some minor issues.
(c) Some big issues
(d) IE.

Ok you might guessed right (c) and (d) are correct.
Anyway after getting my point about IE :) 

Lets cut to the chace:

The problem I faced was about getting an error from EXTJS code, I wrote an AJAX call using EXTJS framework, there is an option in EXTJS AJAX Request when you can pass an existing form element as an argument. The request  then uses your form to send its parameters. In this point JavaScript error occured. It took me couple of minutes (half day) until I have realized that my HTML form I was working with had an input with name="action". Well, as a fact HTML form element has an action attribute. ExtJS code tried to assign the form's action attribute value (string value) to the input element named "action" and failed as undefined object. Because as we all know in order to assign a value to a form's input element we have to write it like this:


But this problem occured only in IE browser in FF all was good.


a) Do not use Internet Explorer!

b) Avoid using "action" or any other attributes as your form's input name.