281
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Re:JavaScript Modificar campos de tabla dinámica: editar filas. Ejercicio CU01139E
« en: 14 de Octubre 2015, 10:42 »
Buenos días Pedro, tras revisar tu ejercicio puedo decir que creo que se adapta perfectamente a lo que se pretendía:
En tu caso para el envío de datos has definido un formulario que envuelve a la tabla, y cuando se realiza la edición añades el código del campo del formulario a enviar.
En la propuesta incluida dentro del curso se dejaba un div vacío con id <div id="contenedorForm"> al que se añadía el contenido del formulario una vez se realizaba la edición.
Hay otras diferencias pero en general tu solución es buena y simple y en algunos aspectos creo que incluso mejora a la propuesta dentro del curso.
Hay un detalle que a primera vista me parece mejor en la solución del curso que en la tuya, que es qué se pasa como argumentos a la función cuando se pulsa el botón editar. En tu caso tenemos por ejemplo onclick="editarFila(2)" y en la solución del curso onclick="transformarEnEditable(this)"
¿Por qué comento esto? Al indicar editarFila(2) estás ligando el número 2 a esta edición, pero supón que otra persona hace un cambio en el orden de los alimentos y pone la cereza antes que el plátano. En ese caso cuando pulsemos en editar en la fila de la cereza nos editaría la fila del plátano, porque la llamada no está ligada a la fila sino a un número fijo. Cuanto menos referencias "fijas" y más "genéricas" tengamos más robusto será el código frente a cambios.
Este ejercicio puedes darlo por más que bueno.
Saludos
Citar
Intenta resolver el ejercicio con los conocimientos adquiridos a lo largo del curso y realizando alguna consulta adicional en internet. Es bueno intentar enfrentarse a los problemas por uno mismo y tratar de resolverlos por uno mismo, ya que favorece el aprendizaje como programadores. Ten en cuenta que este ejercicio posiblemente no tenga una solución única, sino que hay distintas formas de plantearlo y distintas formas de resolverlo. Intenta crear tu propia solución y después compárala con la que indicaremos nosotros tratando de ver las ventajas e inconvenientes de una y otra forma de resolver el problema.
En tu caso para el envío de datos has definido un formulario que envuelve a la tabla, y cuando se realiza la edición añades el código del campo del formulario a enviar.
En la propuesta incluida dentro del curso se dejaba un div vacío con id <div id="contenedorForm"> al que se añadía el contenido del formulario una vez se realizaba la edición.
Hay otras diferencias pero en general tu solución es buena y simple y en algunos aspectos creo que incluso mejora a la propuesta dentro del curso.
Hay un detalle que a primera vista me parece mejor en la solución del curso que en la tuya, que es qué se pasa como argumentos a la función cuando se pulsa el botón editar. En tu caso tenemos por ejemplo onclick="editarFila(2)" y en la solución del curso onclick="transformarEnEditable(this)"
¿Por qué comento esto? Al indicar editarFila(2) estás ligando el número 2 a esta edición, pero supón que otra persona hace un cambio en el orden de los alimentos y pone la cereza antes que el plátano. En ese caso cuando pulsemos en editar en la fila de la cereza nos editaría la fila del plátano, porque la llamada no está ligada a la fila sino a un número fijo. Cuanto menos referencias "fijas" y más "genéricas" tengamos más robusto será el código frente a cambios.
Este ejercicio puedes darlo por más que bueno.
Saludos