Pregunta

Estoy usando Prototype en mis rieles proyecto para hacer en el lugar de editar (a través de Ajax.InPlaceEditor) de una forma. Sin embargo, no quiero volver a hacerlo inmediatamente después de la actualización y - la forma en sí es bastante complicado y el usuario puede decidir abandonar sus cambios. Sólo que ahora no puede, porque tiene la forma invisible (para ellos) actualizada la base de datos.

Por lo tanto, lo que yo estaba pensando en hacer estaba usando Prototype InplaceEditor sin especificar una URL de devolución (o lo convierten en un URL de devolución genérica que devuelve true) y luego como parte de la "onLeaveEditMode" para el campo, tiene que actualizar un escondido campo de formulario con el nuevo valor.

De esta manera, cuando el usuario obtiene el aspecto y la sensación de lujo de un editor in situ, pero todavía puede pulsar "Cancelar" en la parte inferior y deshacer todos los cambios.

Por lo tanto, me he embarcado en esta misión en un pequeño prototipo de prueba y parece que funciona - excepto que significa una cantidad sustancial de código JavaScript y, en cierto modo, se siente como bastardear el propósito InplaceEditor. Esto tiene que ser un problema resuelto, pero mi google-fu no devuelve nada que se le parezca que quiero.

Algo un poco como este (pero obviamente no es una forma de rejilla) donde se puede editar en el lugar de los campos, pero debe presionar "Guardar" para confirmar los cambios: http://www.nitobi.com/products/grid/editors/

Un par de preguntas: 1) ¿Hay una carriles existentes plugin o clase Prototipo de hacer esto por mí? 2) Si no es así, qué mi sonido enfoque razonable?

Gracias !!

¿Fue útil?

Solución

Si lo que desea es la sensación de lujo de edición en línea. Fingir.

  • campos de formulario se almacenará ninguna frontera. Por lo que se verá como texto normal.
  • En el fondo de la libración punto culminante de campo.
  • En el enfoque Mostrar borde (mediante la adición de la clase o el cambio de los estilos en línea).
  • En la falta de definición de nuevo ocultar los bordes.

No es necesario campos fantasmas ocultos. Y la mayoría de las cosas es css.

Usar jQuery para minimizar el código Javascript. : -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top