#8743 closed bug (invalid)
ONE MORE TIME: in FireFox 4 the $("#element_id *") duplicate imput elements
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | undecided | Milestone: | 1.next |
Component: | ajax | Version: | 1.5.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
this is the second ticked that I issue but this time I got it in jsFiddle.
here is the jsFiddle link: http://jsfiddle.net/QEaav/19/
Change History (13)
comment:1 follow-up: 3 Changed 12 years ago by
comment:2 Changed 12 years ago by
Owner: | set to [email protected]… |
---|---|
Status: | new → pending |
comment:3 Changed 12 years ago by
Replying to timmywil:
I'm confused. What's the bug exactly? I don't see the duplicates. http://jsfiddle.net/timmywil/QEaav/21/ And is this related to a certain browser?
do you see it in FF4?
comment:4 Changed 12 years ago by
I feel dumb. You said firefox 4 in the title. I went straight to the fiddle and didn't understand what the bug was from the fiddle. I do see duplicate inputs in the serializeArray response, but you are serializing the inputs as well as their parents and I believe that is the correct response. If you select only the inputs, you will get back the proper response. $('#holder :input').serializeArray()
An example: http://jsfiddle.net/timmywil/PyZGH/1/
comment:5 Changed 12 years ago by
The correct usage for .serializeArray()
is either $('form').serializeArray()
or $(':input').serializeArray()
but never both, as you'll get duplicates!
comment:6 Changed 12 years ago by
Component: | unfiled → ajax |
---|---|
Resolution: | → invalid |
Status: | pending → closed |
comment:7 Changed 12 years ago by
I know that adding the :input is working, but don't you thing that this a huge inconsistency with other browsers? Doesn't this defies the purpose of jQuery?
I think of "*" as select every element, and absolutely NOT same element twice. After all why would I ever need that functionality, not to mention that this functionality is available in FireFox 4?
However this example its all over my project ... And now should I go and do: if you are ff4 do this else do that? What's jQuery going to do for me?
I just hope it's a issue with ff4 being in beta and not a jQuery problem. Just wanted to let you know about issue.
Thanks for your time.
comment:8 Changed 12 years ago by
Seems like a programmer error to me, anonymous. The docs say that if you select a form
it serializes all the elements in the form. Your selector selects both the form and its children so what exactly did you expect? Nonetheless, we have documented this now so you won't trip over it again.
comment:9 Changed 12 years ago by
I don't remember adding a form element in my example. If I did it's may bad. Our project is in .net and we can't have more then one form elements on a page and we use components that has "form" (div) that holds the input elements.
However you do realize that this happens only in FF4. None of other browsers does that.
Another thing is that let's say I don't use the serialize() and I use just the selector and I want to loop through it and what do I do? Check for FF4?
Think about it.
comment:10 Changed 12 years ago by
Firefox 4 doesn't change the fact that your code is simply incorrect. If you write unexpected code, unexpected things happen.
comment:11 Changed 12 years ago by
I don't think you read my post :)
I don't use a form element and I want all the elements in a container! In this case I get dupes in FF4!
I hope I made my self clear.
comment:12 Changed 12 years ago by
Not using a form element around input/select/textarea/buttons is, as rwaldron stated, "simply incorrect."
I'm confused. What's the bug exactly? I don't see the duplicates. http://jsfiddle.net/timmywil/QEaav/21/ And is this related to a certain browser?