diff options
| author | Misko Hevery | 2012-03-19 12:20:57 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2012-03-19 15:49:42 -0700 | 
| commit | 1cc0e4173de01d6c4103910d231a24b2834f4d91 (patch) | |
| tree | 076fcf51827a4dc8161959de8944a72dff4d0bcf /src/service/compiler.js | |
| parent | d4ae7988dad88af608db9cf34992c9c748eda6aa (diff) | |
| download | angular.js-1cc0e4173de01d6c4103910d231a24b2834f4d91.tar.bz2 | |
bug(ie7): incorrectly set all inputs to disabled
In ie7 all of the input fields are set to readonly and disabled, because ie7 enumerates over all attributes even if the are not declared on the element.
Diffstat (limited to 'src/service/compiler.js')
| -rw-r--r-- | src/service/compiler.js | 18 | 
1 files changed, 10 insertions, 8 deletions
| diff --git a/src/service/compiler.js b/src/service/compiler.js index 6cbfc9d3..4ac01a7c 100644 --- a/src/service/compiler.js +++ b/src/service/compiler.js @@ -378,17 +378,19 @@ function $CompileProvider($provide) {            for (var attr, name, nName, value, nAttrs = node.attributes,                     j = 0, jj = nAttrs && nAttrs.length; j < jj; j++) {              attr = nAttrs[j]; -            name = attr.name; -            nName = directiveNormalize(name.toLowerCase()); -            attrsMap[nName] = name; -            attrs[nName] = value = trim((msie && name == 'href') +            if (attr.specified) { +              name = attr.name; +              nName = directiveNormalize(name.toLowerCase()); +              attrsMap[nName] = name; +              attrs[nName] = value = trim((msie && name == 'href')                  ? decodeURIComponent(node.getAttribute(name, 2))                  : attr.value); -            if (isBooleanAttr(node, nName)) { -              attrs[nName] = true; // presence means true +              if (isBooleanAttr(node, nName)) { +                attrs[nName] = true; // presence means true +              } +              addAttrInterpolateDirective(node, directives, value, nName) +              addDirective(directives, nName, 'A', maxPriority);              } -            addAttrInterpolateDirective(node, directives, value, nName) -            addDirective(directives, nName, 'A', maxPriority);            }            // use class as directive | 
