Pergunta

Foi o que encontrei pela Firebug no Firefox.

É o mesmo em outros navegadores?

Se sim, qual é a razão para isso?

Foi útil?

Solução

Sim, tudo Os navegadores não devem enviar as entradas desativadas, pois são somente leitura.

Mais Informações (Seção 17.12.1)

Definições de atributo

Desativado [IC] Quando definido para um controle de formulário, esse atributo booleano desativa o controle da entrada do usuário. Quando definido, o atributo desativado tem os seguintes efeitos em um elemento:

  • Os controles desativados não recebem foco.
  • Os controles desativados são ignorados na navegação de tabbing.
  • Os controles desativados não podem ser bem -sucedidos.

Os seguintes elementos suportam o atributo desativado: botão, entrada, optgroup, opção, selecione e textarea.

Este atributo é herdado, mas as declarações locais substituem o valor herdado.

Como os elementos desativados são renderizados depende do agente do usuário. Por exemplo, alguns agentes de usuários "Grey Out" itens de menu desativados, rótulos de botões, etc.

Neste exemplo, o elemento de entrada está desativado. Portanto, ele não pode receber entrada do usuário nem seu valor será enviado com o formulário.

<INPUT disabled name="fred" value="stone">

Observação. A única maneira de modificar dinamicamente o valor do atributo desativado é através de um script.

Outras dicas

disabled A entrada não enviará dados.

Use o readonly atributo:

<input type="text" readonly />

Fonte aqui

Eles não são enviados, porque Isso é o que diz na especificação W3C.

17.13.2 Controles bem -sucedidos

Um controle bem -sucedido é "válido" para envio. [recorte

  • Os controles desativados não podem ser bem -sucedidos.

Em outras palavras, a especificação diz que os controles desativados são considerados inválidos e não devem ser enviados.

Você pode usar três coisas para imitar deficientes:

  1. Html: readonly atributo (para que o valor presente na entrada possa ser usado no envio do formulário. Além disso, o usuário não pode alterar o valor de entrada)

  2. CSS: 'pointer-events':'none' (bloqueando o usuário de clicar na entrada)

  3. Html: tabindex="-1" (bloqueando o usuário para navegar para a entrada do teclado)

Disabled Os controles não podem ser bem -sucedidos e um controle bem -sucedido é "válido" para envio. Esta é a razão pela qual os controles desabilitados não são enviados com o formulário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top