Bug Tracker

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#7712 closed bug (duplicate)

.attr / child element mixup

Reported by: [email protected] Owned by: [email protected]
Priority: high Milestone: 1.6
Component: manipulation Version: 1.4.4
Keywords: Cc:
Blocked by: Blocking:

Description (last modified by jitter)

$('#myform').attr('action', 'http://google.com') fails if the form has a hidden element named action. Example markup:

<form action="http://bing.com" method="post" id="myform">
    <input type="hidden" name="action" value="something" />
</form>

I'll post a testcase as soon as I have time.

Change History (7)

comment:2 Changed 12 years ago by jitter

Description: modified (diff)

comment:3 Changed 12 years ago by Rick Waldron

Owner: set to [email protected]
Status: newpending

Is it broken in a specific browser? This works for me:

http://jsfiddle.net/rwaldron/mVaPj/1/

Last edited 12 years ago by Rick Waldron (previous) (diff)

comment:4 in reply to:  3 Changed 12 years ago by jitter

Replying to rwaldron:

Is it broken in a specific browser? This works for me: http://jsfiddle.net/rwaldron/mVaPj/1/

broken e.g. in FF 3.6.12, IE6 (throws exception)

But this is something that should get fixed with the .attr() rewrite for 1.5

comment:5 Changed 12 years ago by jitter

Resolution: duplicate
Status: pendingclosed

This is a well known problem (References)
Deadly Expandos
Unsafe Names for HTML Form Controls

The problem comes from the old DOM 0/DOM 1 days. DOM 1 HTML states

The FORM element encompasses behavior similar to a collection and an element. It provides direct access to the contained input elements as well as the attributes of the form element.

As noted in my comment above this should all go away with the upcoming .attr() rewrite.

comment:6 Changed 12 years ago by jitter

Duplicate of #3685.

comment:7 Changed 12 years ago by jitter

Component: unfiledmanipulation
Priority: undecidedhigh
Note: See TracTickets for help on using tickets.