Foros del Web » Programando para Internet » Javascript »

Llenado de tabledata desde tabla html con celda tipo input

Estas en el tema de Llenado de tabledata desde tabla html con celda tipo input en el foro de Javascript en Foros del Web. Buenas tardes quería pedirles un poco de ayuda. Tengo una tabla html tablaDetalle de la cual puedo obtener en mi variable datatable todo el contenido ...
  #1 (permalink)  
Antiguo 02/10/2014, 16:48
 
Fecha de Ingreso: abril-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Llenado de tabledata desde tabla html con celda tipo input

Buenas tardes quería pedirles un poco de ayuda. Tengo una tabla html tablaDetalle de la cual puedo obtener en mi variable datatable todo el contenido de sus filas con una funcion javascript y luego con otra funcion usando ajax la convierto en un arreglo php.

Esta es la funcion para extraer las filas:

function obtieneDatos()
{
var TableData = new Array();

$('#tablaDetalle tr').each(function(row, tr){
TableData[row]={
"0" : $(tr).find('td:eq(0)').text(),
"1" : $(tr).find('td:eq(1)').text(),
"2" : $(tr).find('td:eq(2)').text() // AQUI ES DONDE agregue UN INPUT
};
});
TableData.shift();
return TableData;
}

Todo eso funciona bien, el td:eq(0) es un id, el td:eq(1) es un producto y td:eq(2) es una cantidad, como saben la cantidad puede ser variable asi que inserte un input dentro de td:eq(2) y es aqui donde tengo problemas porque no me obtiene el dato que esta en el inpur que esta dentro de td:eq(2). Les agradeceria mucho si me pueden ayduar a obtener ese valor.

Aqui esta la funcion con la que agrego filas a mi tablaDetalle(lo hago desde otra tabla html producto):

function agregaFila(ObjetoFila){

var agregaCantidad = document.getElementById("cantidadProducto").value;
if (agregaCantidad=='' | agregaCantidad=='0')
{
alert("Debe ingresar una cantidad para el producto seleccionado.");
}
else
{
var agregaId = ObjetoFila.cells[0].childNodes[0].nodeValue;
var agregaNombre = ObjetoFila.cells[1].childNodes[0].nodeValue;

var tabla = document.getElementById('detalleVenta');
var ultimaFila = tabla.rows.length;
var fila = tabla.insertRow(ultimaFila);

var input = document.createElement("input"); // ESTE ES EL INPUT AL CUAL NECESITO ACCEDER
input.type = "text";
input.className = "urlresp";
input.value = agregaCantidad ;
input.style.height = "25px";
input.style.width = "70px";
input.style.border = "1px solid #383838";
input.style.textAlign = "center";
input.style.borderRadius = "4px 4px 4px 4px";
input.onblur = function(){
if(input.value == 0 | input.value == "" )
{
alert('La cantidad minima de un producto es 1.');
input.value = 1;
}
};

var campo4 = document.createElement("input");
campo4.type = "button";
campo4.value = "Eliminar";
campo4.style.background= "#39828F";
campo4.style.color= "#f5f5f5";
campo4.style.padding= "7px 12px";
campo4.style.cursor= "pointer";
campo4.style.border= "1px solid #333";
campo4.style.borderRadius= "4px";
campo4.onclick = function(){
var i = this.parentNode.parentNode.rowIndex;
document.getElementById('tablaDetalle').deleteRow( i);
enviaDatosPhp();
};

var idDet = fila.insertCell(0);
var nombreDet = fila.insertCell(1);
var cantidadDet = fila.insertCell(2);
var eliminaDet = fila.insertCell(3);

idDet.innerHTML = agregaId;
nombreDet.innerHTML = agregaNombre;
cantidadDet.appendChild(input);
eliminaDet.appendChild(campo4);

document.getElementById("cantidadProducto").value= "";
}
}

Última edición por escalantenico; 03/10/2014 a las 08:08

Etiquetas: ajax, celda, funcion, html, input, llenado, php, tabla, tipo, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:46.