diff --git a/src/lib/annotations/annotations.html b/src/lib/annotations/annotations.html index 1060b61b..9e305d96 100644 --- a/src/lib/annotations/annotations.html +++ b/src/lib/annotations/annotations.html @@ -187,9 +187,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN // add annotation data from attributes to the `annotation` for node `node` // TODO(sjmiles): the distinction between an `annotation` and // `annotation data` is not as clear as it could be - // Walk attributes backwards, since removeAttribute can be vetoed by - // IE in certain cases (e.g. ), resulting in the - // attribute staying in the attributes list _parseNodeAttributeAnnotations: function(node, annotation) { for (var i=node.attributes.length-1, a; (a=node.attributes[i]); i--) { var n = a.name, v = a.value; @@ -244,6 +241,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN v = v.substring(0, colon); customEvent = true; } + // Clear attribute before removing, since IE won't allow removing + // `value` attribute if it previously had a value + if (node.localName == 'input' && n == 'value') { + node.setAttribute(n, ''); + } // Remove annotation node.removeAttribute(n); // Case hackery: attributes are lower-case, but bind targets diff --git a/test/unit/bind-elements.html b/test/unit/bind-elements.html index 0f0693a7..f3b5aa70 100644 --- a/test/unit/bind-elements.html +++ b/test/unit/bind-elements.html @@ -25,6 +25,7 @@ {{text}} {{computeFromTrickyLiterals(3, 'tricky\,\'zot\'')}} +