Opened 12 years ago

Closed 11 years ago

#9823 closed defect (fixed)

parser can't get value of <li> node on IE7

Reported by: bill Owned by: bill
Priority: high Milestone: 1.7
Component: Parser Version: 1.3.2
Keywords: Cc:
Blocked By: Blocking:


From the dojo-interest mailing list, on IE7 (only), "value" is reported as "1" rather than "home" here:

<ul dojoType="TabBox" class="nav">
        <li dojoType="TabItem" value="home">Home</li>
        <li dojoType="TabItem" value="contact">Contact</li>
        <li dojoType="TabItem" value="group">Group</li>
        <li dojoType="TabItem" value="campaign">Campaign</li>

The problem is in parser.instantiate(), because node.attributes.getNamedItem("value").value is 1 rather than the correct value. node.getAttributeValue("value") works correctly.

Limited to <li> nodes on IE7.

See also #9822.

Change History (3)

comment:1 Changed 12 years ago by bill

Milestone: tbdfuture

comment:2 Changed 11 years ago by bill

Milestone: future1.7

comment:3 Changed 11 years ago by bill

Resolution: fixed
Status: newclosed

(In [24185]) Refactor parser to allow attributes (for a single node) to be partly specified in data-dojo-props, and partly specified directly ex: value=123. Uses node.attributes to detect which attributes are specified on a node, or for older versions of IE calls cloneNode(false) followed by some regex's on clone.outerHTML.

Due to lowercase/uppercase issues (ex: tabIndex, onClick), and for type conversion, the code still introspects each widget to get it's attribute metadata. In the future, would like to defer/avoid that in the common case. Fixes #10153, #12423, #12476, #10150, #9823, refs #11490 !strict.

Also fixes the problem on IE8 where a button without type=... defaults to type=submit rather than whatever the widget defines the default as, fixes #10163, refs #9334, #8946.

Future updates will be attached to ticket #12476.

Note: See TracTickets for help on using tickets.