coñe, que el ejemplo te lo he puesto arriba ya dos veces. Venga, la tercera:
Código:
<input class="form-control nombre" asp-for="@Model.lista[i].nombre">
<input class="form-control apellidos" asp-for="@Model.lista[i].nombre">
...
// lo de antes igual, incluso para obtener la referencia a la row si no quieres usar identificadores por alguna razón
// aquí lo realmente nuevo: saca los datos uno a uno, no todos a la vez:
var data = {
nombre: row.find(".nombre").val(),
apellidos: row.find(".apellidos").val(),
apellidos: row.find(".otracosa").val(),
}
window.location.href = url + '?' + data.serialize();
No he dicho que usar clases sea arcaico porque no lo es. Al revés, es totalmente normal en HTML
Todos los elementos html tienen un atributo data- donde puedes poner información extra para javascript, pero no lo uses, haz pocos cambios como los que te propongo y ya está
Porque mi propuesta fundamental es esta:
- Tú has usado la línea var data = row.find("input, select, textarea").serialize();, que mete todos los datos en una cadena. Luego propones parsear esa cadena
- Yo te digo que no te canses, que saques los datos uno a uno y no parsees.
Código:
var data = {
nombre: row.find(".nombre").val(),
apellidos: row.find(".apellidos").val(),
apellidos: row.find(".otracosa").val(),
}
y lo único que tienes que hacer para aplicar esto es añadir "nombre" o "apellidos" a las clases de los input correspondientes
Marcadores