Pergunta

I recebendo este problema estranho no Safari e Chrome (funciona no Firefox e IE).

  1. I começar com esta lista caixa que tem o primeiro item 'A' marcada, e no item 'B' e 'C' desmarcada
  2. Em seguida, navegar para outra página que ordena os itens que aparecem na lista de caixa de seleção
  3. I alterar a ordem dos itens na lista por isso agora vai 'B', 'A', 'C'
  4. I pressionar o botão voltar
  5. A página é re-buscada a partir do servidor (eu cache desativada), eu verifico a resposta enviada a partir do servidor, e o item 'A' ainda é verificada e não o primeiro item na lista.
  6. !!! Comportamento estranho !!! A página foi carregada no navegador com a nova ordem 'B', 'A', 'C', mas 'A' não está marcada, em vez do primeiro item 'B' está marcada.

De alguma forma, parece que a posição do item de verificação foi restaurada, premindo o botão de volta, e os dados do formulário foi descartado que foi enviada a partir do servidor.

Quando eu atualizar a página da ordem é 'B', 'A', 'C' e no item 'A' agora é verificado, e tudo parece ok.

Em ambas as ocasiões a página tem IsPostBack conjunto para false.

Este é um bug no kit web?

Tentei, limpar o cache, entrar em modo de navegação privada, limpar o histórico. Ainda mesmo comportamento.

Foi útil?

Solução

Eu encontrei o mesmo problema com o Chrome. Em mais testes, descobri isso só acontece se o site utiliza sessões. Sempre que você pressionar o botão voltar, ele remove todos os dados POST em vez de reenviar-lo.

Eu criei uma página para testá-lo: http://www.duanehutchins.com/formtest.php Se você digitar algumas informações e postá-lo algumas vezes, ele funciona. Pressione para trás e recarga; nenhum dado for anunciado.

Se eu desativar a sessão, ele funciona bem. I reportou o bug no Chrome. Vamos ver se alguém ajuda.

Outras dicas

Nós tivemos um problema semelhante com dados de formulário a ser "restaurado" por Webkit, embora o estado da página mudou nesse meio tempo.

Safari e Chrome botão voltar muda escondida e enviar valores em formulários deu uma boa dica que funcionou para nós. Ao adicionar autocomplete="off" a todas as formas na página poderíamos resolver isso.

Veja este exemplo:

http://jsfiddle.net/eGutT/9/

Isso está acontecendo para mim também. Esta parece ser uma falha bastante fundamental como o caso de uso é tão simples, e mais comum provável. Eu já executar para esse problema em dois lugares em diferentes projetos. Se a desativação da sessão realmente evita este problema, que não é uma real correção, como a maioria dos clientes não vai mesmo saber sobre esta opção, ou cuidado.

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