Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 13-abr-2007, 05:11   #1 (permalink)
nae
nae no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Pregunta Asignar nombres a input text dinámicos

Hola,
estoy haciendo un página jsp donde se crean textfield de manera dinámica, al pulsar un botón cuando se está ejecutando, el usuario introducirá datos en ellos y yo los recojo en un servlet. Tengo una variable "cont" con el número de textfield introducidos dinámicamente. Necesito saber el nombre asignado a los textfiel para poder hacer request e introducir los datos en un vector "respuestas"

Código:
for (int i = 1; i < cont + 1; i++) { 
            textfield = request.getParameter("NOMBRE DEL TEXTFIELD") ;
            respuestas.addElement(textfield);
          }
Cuando genero los textfield intento asignarles yo un nombre, para eso utilizo el mismo contador puesto que no sé cuántos se van a generar, le asigno el nombre correspondiente a su número pasado a cadena

Código:
var num = <%=Integer.toString(cont)%>;
var cadtxt='<td><input type="text"  name=num value=""></td>'
Pues bien, esto no funciona, alguien sabe qué estoy haciendo mal o cómo podría resolver el problema.
Gracias
nae está desconectado   Responder Citando
Antiguo 13-abr-2007, 05:38   #2 (permalink)
nae
nae no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Re: Asignar nombres a input text dinámicos

Hola, soy yo otra vez, he probado asignando un nombre en concreto "txt1dina" y sí funciona

Código:
var cadtxt='<td><input type="text"  name="txt1dina" value=""></td>'
El problema es entonce cómo puedo construir una cadena en JSP a partir de una variable Java, que sería en contador de textfield: cont
nae está desconectado   Responder Citando
Antiguo 13-abr-2007, 08:51   #3 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.495
Re: Asignar nombres a input text dinámicos

¿Y por que no haces simplemente...?
Código:
<td><input type="text"  name="texfield_<%=num%>" value=""></td>
De todas formas, mejor pon un texto antes antes del numero (yo he puesto la cadena 'textfield_'), ya que en muchos lenguajes/protocolos, las variables no pueden empezar por un numero.

Saludos
GreenEyed está desconectado   Responder Citando
Antiguo 14-abr-2007, 03:04   #4 (permalink)
nae
nae no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Re: Asignar nombres a input text dinámicos

Gracias, lo estoy intentando de esa manera, me surge otro problemilla, en la página jsp al empezar declaro la variable cont
Código:
<%   
           //defino variabes
           int cont = 1; %>
Este contador lo inicializo en 1 porque la página tiene siempre dos casillas:textfield_0 y textfield_1

Luego tengo un botón que al pulsar incrementa las casillas de dos en dos con javascript, las casillas las voy metiendo en filas dentro de una tabla:

Código:
function addNewRow(){

var TABLE = document.getElementById("base");
...
var newRow = TABLE.insertRow(-1);
newRow.className = TROW.attributes['class'].value;
<% cont=cont+1; %> //introduzco la primera nueva casilla
var cadtxt='<td><input type="text"  name="textfield__<%=cont%>" value="<%=cont%>"></td>' ;
var newCell = newRow.insertCell(newRow.cells.length);
newCell.innerHTML = cadtxt;

<% cont=cont+1; %> //introduzco la segunda nueva casilla
var cadtxt='<td><input type="text"  name="textfield__<%=cont%>" value="<%=cont%>"></td>' ;
var newCell = newRow.insertCell(newRow.cells.length);
newCell.innerHTML = cadtxt;
Bueno, pues al ejecutar, la primera vez que pulso el boton va bien cont hace lo deseado, lo pongo en el txt en value para comprobar el valor que tiene, toma valor 2 y 3, pero la segunda vez que pulso vuelve a coger valor 2 y 3, creo que vuelve a irse a la declaración de la variable y se inicializa con valor 1He intentado pasar cont como parámetro en la función addNew() pero como cont es Java y addNew jsp, no sé cómo hacerlo.
Agradezco cualquier ayuda. Un saludo
nae está desconectado   Responder Citando
Antiguo 14-abr-2007, 05:00   #5 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.495
Re: Asignar nombres a input text dinámicos

Ahh, ya veo.

Es que estas mezclando dos cosas. El codigo que generas desde la JSP se genera UNA vez, antes de generar la pagina, y luego con el JavaScript estas modificando las cosas dinamicamente. Sin embargo, modificar el valor de las variables den JavaScript no afecta a las declaraciones que hiciste de las JSP, por eso te vuelven a coger el valor inicial.

Para que funcione, la asignacion de valores desde la JSP solo la tienes que hacer UNA vez, a partir de entonces todo tiene que ser JavaScript.

Para entenderlo, olvidate de que tienes JSP, genera la pagina "a mano" con un editor de HTML y cuando consigas que funcione así, entonces pasas a generar eso mismo desde JSP. Así seguro que no mezclas conceptos.

S!
GreenEyed está desconectado   Responder Citando
Antiguo 15-abr-2007, 08:40   #6 (permalink)
nae
nae no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Re: Asignar nombres a input text dinámicos

Ok, gracias, ya lo comprendo, voy a ver cómo lo hago entonces.
Un saludo.
nae está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:45.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93