User Tag List

Página 3 de 5 PrimerPrimer 12345 ÚltimoÚltimo
Resultados 31 al 45 de 73

Tema: Serializando con tag-helpers

  1. #31

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,652
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,994
    Agradecer Thanks Received 
    5,821
    Thanked in
    Agradecido 3,794 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Demasiado estas haciendo, que eso funcione y a otra cosa, si JQuery te da esa seguridad (que efectivamente, puede aparecer algun transtornado con un navegador antiguo) pues mejor usa JQuery.

    ¿Entonces ya te funciona?

  2. #32

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Sí, esa parte sí. Tengo que ver si sustituyendo el children().children() sige funcionando, pero eso, ir, va.
    De hecho he podido mandar la info al servidor correctamente. Ahora estoy con otra parte, en la que, al perder el foco en un input, se le pida datos a la BBDD y los muestre en una ventana modal.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  3. #33

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,652
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,994
    Agradecer Thanks Received 
    5,821
    Thanked in
    Agradecido 3,794 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    No debería ser especialmente complicado eso, es manejar el evento de pérdida de foco y etc... Igual es todo un curro :P

  4. #34

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Bueno, en eso estoy. La parte más chunga ha sido crear la tabla dentro del tbody, que había que usar HTML, y no es que tenga unos conocimientos muy amplios de eso. Por suerte, sí de edición de ficheros, y eso me ha permitido hacer una construcción con datos y demás bastante apañada.
    Claro que, luego está leer esos datos, meterlos en la variable global para enviarlos al servidor, hacer las comprobaciones de que los datos concuerdan con los que se les pasa, refrescar valores... cosas que en C son fáciles de hacer, pero con las que me siento en primero de carrera al estar en un entorno nuevo.
    Ya parece que voy aclarando cosas, y puede que mañana lo deje ya "hecho"... habría que pulir cosas, corregir otras, darme con el periódico en la cabeza por cada fallo de novato (menos mal que cada vez se imprimen menos )...
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  5. #35

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Bueno, otra pregunta, voy a tardar más en escribirlo que en resolverlo, pero es lo último que me queda para hacer hoy la entrega al cliente, necesito resolverlo ya.
    Tengo una tabla con diversos campos input. Necesito que, al hacer tabulador y perder el foco, se abra una ventana modal para seleccionar una serie de valores para esa línea (en concreto, los lotes del artículo de esa línea). Para ello he creado este script:

    Código:
    jQuery(document).ready(function () {
        jQuery(".itemLineqty").blur(function (event) {
            console.log("Perdido foco");
            event.preventDefault();
            //Buscamos la línea a la que pertenece el campo que dispara este evento
            let row = $(this).parents("tr").first();
            //Comprobamos si usa lotes
            let useBatch = row.find("[table-field='useBatchs']").is(':checked')
            console.log("Artículo usa lotes: " + useBatch);
            if (useBatch == true) {
                console.log("SÍ");
                //Obtenemos los datos del artículo del que queremos obtener los lotes
                const toGetBatchData = {
                    itemCode: row.find("[table-field='Id']").val(),
                };
                //Y hacemos la petición al servidor
                $.ajax({
                    dataType: 'json',
                    type: 'GET',
                    url: '/ProductionOrders/ItemBatchs',
                    data: toGetBatchData,
                    success: function (result) {
                        let table = "";
                        for (let i = 0; i < result.length; i++) {
                            //Creamos línea de tabla en ventana modal
                            table += "<tr>" +
                                "<td>" +
                                result[i].id +
                                "</td><td>" +
                                new Date(result[i].expDate).toLocaleDateString() +
                                "</td><td>" +
                                '<input class="form-control" type="number" table-field="editQty" value="' + qty + '"> ' +
                                "</td></tr>";
                        }
                        document.getElementById("modalBatchSelectorTableBody").innerHTML = table;
                        $('#modalBatchSelector').modal('toggle');
                        $('#modalBatchSelector input').focus();
                    },
                    error: function (xhr) {
                        if (xhr.status >= 300) {
                            alert("An error occured: " + xhr.status + " " + xhr.statusText);
                        };
                    }
                });
                
            }
            else {
                console.log("NO");
            };
        });
    });
    El problema que tengo es que, si estoy en la tabla principal, y pierdo el foco usando tabulador, la tabla modal se abre y se cierra, no se queda abierta. He intentado mantenerla abierta mediante la línea
    Código:
    $('#modalBatchSelector input').focus();
    Pero sólo funciona si pongo un punto de interrupción en esa línea.

    ¿Alguna sugerencia?

    -----Actualizado-----

    Vale, veo que el problema es una mezcla de dos factores:
    - Por un lado, al pulsar el tabulador, se pierde el foco de la línea y se cargan los datos. La pega es que al pulsar el tabulador, antes de abrir la ventana modal, el foco pasa a la siguiente línea. Por tanto, al abrir la ventana modal, se pierde el foco de la segunda línea, lo que provoca una segunda llamada a la función.
    - Por otro lado, el modal('toggle'). Al hacer la segunda llamada me cierra la ventana modal. Al cambiarla por "show", todo ha quedado al descubierto.

    El problema ahora es resolverlo. Tengo que abrir la ventana modal al perder el foco, pero antes de que se reasigne a la siguiente línea ¿eso cómo leches se hace?
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  6. #36

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,342
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    368
    Agradecer Thanks Received 
    1,793
    Thanked in
    Agradecido 945 veces en [ARG:2 UNDEFINED] posts
    Buf, eso de depender de los focos tiene pinta de ser una mala idea porque va a depender del navegador y puede que del sistema operativo también

    Quizás puedas responder al evento "han pulsado tabulador" en vez de al evento "ha cambiado el foco"?

    -----Actualizado-----

    Imagino que con focos y tabuladores, el soporte a móviles quedó descartado

  7. #37

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Ah, no sé. A mi me han dicho "cuando el usuario escriba la cantidad en una línea y la deje, si se maneja por lotes, que aparezca la ventana de selección", así que uso la pérdida de foco, porque no es sólo que se pulse tabulador, sino que se haga clic fuera o cualquier otra cosa.
    Y no, esto no es para móviles, es una APP de navegador para ordenadores de escritorio (hasta donde yo sé). Vamos a lo simple, porque aquí nadie sabe de programación web, así que...

    De momento, lo que he hecho ha sido poner al principio del script:
    Código:
    if ($('#modalBatchSelector').is(":hidden")) {
    Una solución muy cutre, pero funciona para que podamos desplegar hoy.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  8. #38

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,652
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,994
    Agradecer Thanks Received 
    5,821
    Thanked in
    Agradecido 3,794 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    A ver, por lo que entiendo tienes que desactivar el evento de perdida de foco apenas se pierde el foco, ¿no?

  9. #39

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Más bien, cambiar el foco a la ventana modal, antes de que se vaya a la siguiente línea, si es que eso es posible.
    Lo que quiero es poder pulsar el tabulador y que, lo ideal, sería que se pusiera el foco en el primer entry de la ventana modal.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  10. #40

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Se me ha sumado otro problema. Resulta que si tengo el foco dentro de uno de estos campos editables, si pulso un botón, la pérdida de foco se ejecuta después de que empiece la ejecución del script del botón, y el truco de si la ventana modal ya estaba abierta no sirve.
    ¿Alguna recomendación en este caso?

    Por otra parte, estoy montando otra funcionalidad, por la cual, al hacer clic en una línea (o en las celdas que no son editables, ahora ya sé hacer eso ), se abre una ventana modal en la que se muestra una lista de operaciones anteriores realizadas sobre ese artículo. Mi jefe me pide que investigue si hay alguna forma de que, en lugar de usar una ventana modal, se pueda mostrar justo debajo de la línea de la tabla, como si la "desplegáramos". Dice que lo ha visto en otras webs. Claro, yo le he dicho que me de la URL para poder examinar el código y replicarlo, pero me ha dicho que no la tenía a mano (aparte de soltarme un rollo de que yo soy el desarrollador, que es mi trabajo averiguarlo, bla bla bla... Sólo le he pedido un ejemplo -.-U).
    En fin, que como sé que dentro de una tabla no se pueden meter otros elementos que no sean líneas o celdas (los Links se sienten discriminados... ¿lo pilláis? porque hace tiempo quería enlazar toda una línea de tabla a... no importa), pues ya le dije que no creía que eso fuera posible, pero me ha insistido y aquí estoy.

    Ahora entiendo a los bebés cuando tienen a cada padre hablando un idioma distinto.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  11. #41

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,342
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    368
    Agradecer Thanks Received 
    1,793
    Thanked in
    Agradecido 945 veces en [ARG:2 UNDEFINED] posts
    Creo que en bootstrap lo que buscas es un collapse, justo debajo de la tabla

    Ah, no espera, dentro de la tabla. Momentito, te lo miro, aunque no sé cómo se hace en bootstrap

    -----Actualizado-----

    Mira estos ejemplos. No es bootstrap, es vuetify que es una implementación de Material (las guías de estilo de Google). Se escribe en Vue muy, muy diferente a Jquery+Bootstrap así que no mires el javascript, solo los ejemplos:

    https://v2.vuetifyjs.com/en/componen.../#crud-actions

    Los ejemplos de tablas editables están al final: CRUD actions, Edit dialog y Expandable rows.

    En este caso el expandable rows solo incluye un texto, pero ya te digo que puedes meter cualquier componente ahí.

    -----Actualizado-----

    Como primera idea para crear algo parecido a esas expandable rows en bootstrap, prueba a poner la clase collapse a una tr de tu table: https://stackoverflow.com/questions/...w-in-bootstrap
    "Todo es absolutamente falso, salvo alguna cosa"

  12. #42

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,652
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,994
    Agradecer Thanks Received 
    5,821
    Thanked in
    Agradecido 3,794 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Madremia vaya bautizo de javascript y css y html... :O

  13. #43

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por juanvvc Ver mensaje
    Creo que en bootstrap lo que buscas es un collapse, justo debajo de la tabla

    Ah, no espera, dentro de la tabla. Momentito, te lo miro, aunque no sé cómo se hace en bootstrap

    -----Actualizado-----

    Mira estos ejemplos. No es bootstrap, es vuetify que es una implementación de Material (las guías de estilo de Google). Se escribe en Vue muy, muy diferente a Jquery+Bootstrap así que no mires el javascript, solo los ejemplos:

    https://v2.vuetifyjs.com/en/componen.../#crud-actions

    Los ejemplos de tablas editables están al final: CRUD actions, Edit dialog y Expandable rows.

    En este caso el expandable rows solo incluye un texto, pero ya te digo que puedes meter cualquier componente ahí.

    -----Actualizado-----

    Como primera idea para crear algo parecido a esas expandable rows en bootstrap, prueba a poner la clase collapse a una tr de tu table: https://stackoverflow.com/questions/...w-in-bootstrap
    O sea, que la opción más sencilla, si no he entendido mal, es crear una línea de tabla, a todo el ancho, justo después de la linea que clico, y meter ahí la subtabla que estoy creando en el modal actual ¿no?
    Pero claro, tal como creo una línea de esas, tengo que eliminar las anteriores, para que se cierren (nada que no se pueda hacer metiendo algún class o atributo propio, buscándolo y borrándolo antes de hacer nada).
    Le echaré un vistazo, a ver qué puedo inventar.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  14. #44

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,342
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    368
    Agradecer Thanks Received 
    1,793
    Thanked in
    Agradecido 945 veces en [ARG:2 UNDEFINED] posts
    Creo que sí

    De todas formas, ya te estás acercando al punto en que tu sistema es lo suficientemente complejo como para usar librerías de componentes y que no tengas que escribirlo todo. El vuetify que he enlazado antes es una librería de componentes, pero necesitas Vue y no vas a saltar tanto en tan poco tiempo

    Seguro que ya hay librerías de componentes en jquery que hacen lo que quieres. Mira por ejemplo: https://editor.datatables.net//
    "Todo es absolutamente falso, salvo alguna cosa"

  15. #45

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Sí, esos datatables los he visto. De hecho, los uso, pero como al actualizar, los datos se los paso usando ASP.NET core, me da fallo y termino sobreescribiendo el datatable por una tabla hecha directamente en HTML y perdiendo toda la funcionalidad por el camino. Ya me ha dicho mi "tutor" que para hacer uso de ello, debo renunciar al C# en favor de JS y AJAX, y ahora mismo no me interesa.
    De momento, las cosas sencillas: usar ASP.NET Core, acostumbrarme a HTML y JS (que el fichero este ya está teniendo un número de líneas bastante considerable), y ya iremos viendo. Si puedo implementar la subtabla, bien, si no, pues que se conforme con una ventana modal.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

Página 3 de 5 PrimerPrimer 12345 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •