Pregunta

Aquí está el problema:

Mi página muestra un conjunto de elementos. Cada artículo tiene una casilla de verificación asociada a la misma (que es parte de un formulario). El usuario puede comprobar cualquiera de estas casillas de verificación y pulse el botón 'Borrar'. La misma página también tiene un botón 'Subir' que cargar una hoja de Excel de artículos. Por el momento, mis sumbits acción de formulario que decir: "xyzAction" y tengo dos manipuladores diferentes (análogos a Struts Acción) - uno para la supresión de las tiendas y otra para cargar almacenes.

Me han dicho que la mejor manera de hacer esto es que depender de JavaScript mediante una de las siguientes: 1)) de conmutación de acción del formulario en la prensa de carga y eliminar botones - no por invocar diferentes acciones. 2) Utilizar una variable oculta "acto" para configurarlo para borrar / subir y enviar a una sola forma. La acción del lado del servidor se encargaría de identificar el acto y expedición a la acción correspondiente.

Enfoque (1) - parece muy poco elegante para mí. Jugar con las acciones forma parece innecesario. Enfoque (2) -. Obviamente no funcionaría si el JavaScript desactivado, y no es muy elegante, ya sea

Tiene que haber una tercera forma de hacer esto ?, que me haría feliz?

¿Fue útil?

Solución

Es necesario para obtener el código HTML correcta en primer lugar.

Usted tiene dos acciones diferentes, por lo que debe tener dos formas - una buena regla general es que cada formulario sólo debe tener un botón de envío. Esta es la mejor práctica para HTML y se asegurará de que la página funciona sin JS o cualquier otro engaño.

Una vez que tenga la página trabajando así, utilizar JS para manipular el DOM para producir la interfaz de usuario que necesita. Se trata de utilizar JS para agregar behvour a la interfaz de usuario y es la mejor práctica para JS discreta.

(Si realmente desea combinar sus acciones en una sola forma, cambiando la acción de la forma con JS es el mejor curso de acción. Pero considere lo que pasaría si un usuario marca una casilla de verificación y luego cambia de opinión y Carga un archivo de salir de la casilla de verificación marcada. Usted debe tener cuidado de que esto no debe borrar nada.)

Otros consejos

Parece que es posible que tenga dos formas diferentes, para las dos acciones diferentes.

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