Pergunta

Estou usando o protótipo no meu projeto Rails para fazer edição no local (via ajax.inplaceeditor) de um formulário. No entanto, não quero que ele publique imediatamente e faça a atualização - o formulário em si é bastante complicado e o usuário pode decidir abandonar suas mudanças. Só agora eles não podem, porque o formulário invisivelmente (para eles) atualizou o banco de dados.

Então, o que eu estava pensando em fazer era usar o protótipo em placeeditor sem especificar um URL de postback (ou torná -lo um URL de postback genérico que retorna verdadeiro) e, em seguida, como parte do "OnLeaveditMode" para o campo, faça com que ele atualize um campo de formulário oculto com o novo valor.

Dessa forma, quando o usuário obtém a aparência extravagante de um editor no local, mas ainda pode pressionar "Cancelar" na parte inferior e desfazer todas as alterações.

Então, eu embarquei nessa missão em um pequeno protótipo de teste e parece funcionar - exceto que significa uma quantidade substancial de código JavaScript e, de certa forma, parece bastardo o objetivo do Inplaceeditor. Esse deve ser um problema resolvido, mas meu Google-FU não retorna nada como eu quero.

Algo como este (mas obviamente não é uma forma de grade) onde você pode editar os campos, mas deve pressionar "Salvar" para cometer suas mudanças:http://www.nitobi.com/products/grid/editors/

Algumas perguntas: 1) Existe um plug -in de Rails existente ou aula de protótipo para fazer isso por mim? 2) Caso contrário, minha abordagem soa razoável?

Obrigado!!

Foi útil?

Solução

Se você quer apenas uma sensação sofisticada de edição embutida. Falsificá-lo.

  • Mantenha os campos de formulário na fronteira nenhum. Portanto, parecerá texto normal.
  • Em Passeio de destaque no fundo do campo.
  • No Focus Show Border (adicionando classe ou alterando estilos embutidos).
  • Em Blur novamente esconde fronteiras.

Você não precisa de campos escondidos fantasmas. E a maioria das coisas é CSS.

Use jQuery para minimizar o código JavaScript. :-)

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