Comportamento estranho do atributo iframe `name` definido pelo jQuery no IE

Estou fazendo um upload de arquivo no estilo ajax postando o arquivo em um formulário em um iframe e percebi algum comportamento estranho no IE (parece acontecer nos 6 e 8). Basicamente, no IE, o formulário nãotarget o iframe corretamente para que a resposta apareça em uma nova janela (em vez de no iframe). Você pode reproduzir o problema com o seguinte conjunto mínimo de HTML / JS:

<html>
<head>
  <script src="http://code.jquery.com/jquery-1.3.2.js"></script>
  <script>
    $(document).ready(function(){
      var frameName = "myFrame";
      var $iframe = $("<iframe src=\"about:blank\" />")
              .attr("name", frameName)
              .appendTo("body");
      var $uploadForm = $("<form action=\"http://www.google.com/search\" />")
              .attr("target", frameName)
              .append("<input type=\"text\" name=\"q\" />")
              .append("<input type=\"submit\" />")
              .appendTo("body");
    });
  </script>
</head>
<body>
</body>
</html>

Agora (antes de você postar uma resposta), fiz uma investigação (usando as ferramentas de desenvolvedor do IE8) e parece que o.attr("name", frameName) está realmente adicionando o atributo comosubmitName="myFrame" em vez de simplesmentename="myFrame". Com base nisso, resolvi o problema alterando o código de criação de iframe para o mais desagradável:

var $iframe = $("<iframe src=\"about:blank\" name=\"" + frameName + "\" />")
        .appendTo("body");

Ao fazer essa alteração, o formulário é postado no iframe, conforme desejado.

Minhas perguntas são:

Por que não.attr("name", ...) trabalhar como esperado?É um bug no jQuery, um bug no IE (com certeza não!?!), Ou estou perdendo algo óbvio?Onde é que osubmitName atributo vem e qual é o seu propósito?

questionAnswers(4)

yourAnswerToTheQuestion