JSP (Java Server Page) - getParametervalues no funciona correctamente

 
Vista:

getParametervalues no funciona correctamente

Publicado por maria (2 intervenciones) el 04/07/2007 14:31:02
Hola tengo un problema con la funcion getParametervalues( ), tengo una tabla oculta en un formulario padre que se puede modificar si se desea, al modificarla se borra la tabla anterior y se crea una con los nuevos datos, al guardar ,se guardan los datos sin problema, todos los datos de una fila se recuperan con el getParametervalues("fila0") y se hace perfectamente. Mi problema es que cuando doy a guardar los datos sin haber modificado los datos de la tabla oculta y a pesar de tener exactamente el mismo formato el getParametervalues recoge el numero de elementos pero solo el valor de el primero que lo copia en todos. No se por que, ¿alguien puede ayudarme?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:getParametervalues no funciona correctamente

Publicado por Gonzalo (72 intervenciones) el 04/07/2007 18:54:25
¿Puedes poner el código de lo que comentas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:getParametervalues no funciona correctamente

Publicado por maria (2 intervenciones) el 05/07/2007 08:54:35
Buenos días, gracias por contestar, voy a poner los 2 codigos que tengo para pintar la tabla, aunque creo que no se vera muy claro fuera de todo el contexto.

Este es código para dibujar la tabla oculta con la que el getPatametervalues me funciona correctamente:


function guardarEquipos(nombreTabla,nombreTabDest){

oForm = window.opener.parent.ifrmFlujos.datos;
oTabla = window.parent.document.getElementById(nombreTabla).getElementsByTagName("tbody")[0].getElementsByTagName("tr");

if(oForm.document.getElementById(nombreTabDest) != null){

// obtenemos las tabla
oBorrar = oForm.document.getElementById(nombreTabDest);
oForm.removeChild(oBorrar);
inputBorrar = oForm.document.getElementById("num_provincias");
oForm.removeChild(inputBorrar);
inputBorrarPant = oForm.document.getElementById("num_provincias_pant");
oForm.removeChild(inputBorrarPant);

}

// creamos la tabla oculta en la ventana padre.
oTablaOculta = oForm.document.createElement("table");
oTablaOculta.name = 'provincia';
oTablaOculta.id="idTabOProvincias";
oTablaOculta.border= "0";

// Creamos un hidden con el número de filas reales que tenemos (los borrados que aún no se an eliminado y los demás ).
oNumProv = oForm.document.createElement("input");
oNumProv.type = "hidden";
oNumProv.name = "num_provincias";
oNumProv.id = "num_provincias";
oNumProv.value = oTabla.length;
oForm.appendChild(oNumProv);

//Creamos un hidden con el número de filas que aparecen por pantallas (los que ha borrado el usuario ya no se contabilizan)
oNumProvPant = oForm.document.createElement("input");
oNumProvPant.type = "hidden";
oNumProvPant.name = "num_provincias_pant";
oNumProvPant.id = "num_provincias_pant";
oNumProvPant.value = num_fila_provincias_pant;
oForm.appendChild(oNumProvPant);

for(i=0; i<oTabla.length; i++){

// por cada fila nos creamos otra oculta en la ventana padre.

oFilOculta = oForm.document.createElement("tr");
oFilOculta.id=oTabla[i].id;

// Recuperamos el dato de operacion
oOper = oTabla[i].document.getElementsByName("OPERACION")[i];

// Numero de columnas de la fila.
oFil = oTabla[i].getElementsByTagName("td"); // colum de la fila i
for(j= 1; j<oFil.length; j++){ // num columnas

oElem = oFil[j].document.getElementById("C_VALOR"+i+j);

// nos creamos hidden por cada celda con el mismo nombre para luego recuperar los datos de la fila.
oColOculta = oForm.document.createElement("td");
oInput = oForm.document.createElement("input");
oInput.type = "hidden";
oInput.name = "tablaProvincias"+i;

// Objeto Label.
oLab = oFil[j].document.getElementById("lab"+i+j);
oInput.value = oFil[j].name+"="+oLab.innerText+"$$C_VALOR="+oElem.value+"$$OPERACION="+oOper.value;

// añadimos el input a la columna
oColOculta.appendChild(oInput);
oFilOculta.appendChild(oColOculta);
}

oTablaOculta.appendChild(oFilOculta);

}

oForm.appendChild(oTablaOculta);
window.close();
}


Y ESTE ES EL CÓDIGO QUE PINTA LA TABLA INICIALMENTE Y CON EL QUE EL GETPARAMETERVALUES, NO FUNCIONA CORRECTAMENTE:

<%
// TABLA EQUIPOS DESTINO.
ArrayList equipos = (ArrayList)request.getAttribute("Equipos");
ArrayList filas;
HashMap elemento;
if(equipos != null){%>
<input type="hidden" name="num_equipos" id="num_equipos"value="<%=equipos.size()%>">
<input type="hidden" name="num_equipos_pant" id="num_equipos_pant"value="<%=equipos.size()%>">
<table name="equipos" id="idTabOEquipos" style="display:none">
<%
for(int i = 0; i<equipos.size();i++){// filas

filas = new ArrayList();
filas = (ArrayList)equipos.get(i);
%>
<tr>
<%
for(int j = 0; j< filas.size();j++){
elemento = new HashMap();
elemento = (HashMap)filas.get(j);
%>
<input type="hidden" name="tablaEquipos<%=i %>" id= "<%=j%>" value="<%=elemento.get("C_ATRIBUTO_FLUJO") %>=<%=elemento.get("D_VALOR") %>$$C_VALOR=<%=elemento.get("C_VALOR")%>$$OPERACION=sinvalor">
<% } %>
</tr>
<%
}// fin del primer for
%>
</table>
<% } // fin del if
%>

AMBOS ME CREAN LO SIGUIENTE:

<input type="hidden" name="tabla0" value="provincia=madrid$$c_valor=1$$operacion=x">
<input type="hidden" name="tabla0" value="provincia=cadiz$$c_valor=2$$operacion=x">
<input type="hidden" name="tabla0" value="provincia=caceres$$c_valor=3$$operacion=x">
. . . . . .

El problema es que que con el segundo código getParametervalues("tabla0") me recupera un array de 3 posiciones pero rellenos todos con los datos del primero (provincia= madrid). Sin embargo con la funcion javascript que me crea lo mismo gerParametervalues recupera un array de 3 cada uno con sus datos correspondientes y no entiendo pq en un caso los recupera bien y en otro no.

Gracias por intentar ayudarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:getParametervalues no funciona correctamente

Publicado por Gonzalo (72 intervenciones) el 05/07/2007 13:00:28
Perdona pero es que no veo dónde está en ese código la llamada a getParametervalues que te da el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar