Foros del Web » Programando para Internet » Javascript »

¿Como puedo tomar el name de un input text en javascript?

Estas en el tema de ¿Como puedo tomar el name de un input text en javascript? en el foro de Javascript en Foros del Web. Lo que pasa es que tengo un for con jsp que me muestra los input text con su respectivo name; ejemplo name="mitexto<%=i%>", pero no puedo ...
  #1 (permalink)  
Antiguo 14/01/2013, 15:42
Avatar de elemperador88  
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 4 meses
Puntos: 1
¿Como puedo tomar el name de un input text en javascript?

Lo que pasa es que tengo un for con jsp que me muestra los input text con su respectivo name; ejemplo name="mitexto<%=i%>", pero no puedo tomar los name en javascript me sale error. Dejo el codigo para que me entiendan mejor, gracias.

<%
String articulos[] = request.getParameterValues("articulos[]");
LinkedList<Articulos> listaArticulos = MuestraArticulos.getArticulos(articulos);
int cantidadArticulos = listaArticulos.size();
out.print(cantidadArticulos);
%>
<script>
function calcular(){
cantidad=<%=cantidadArticulos%>;
for(i=0;i < cantidad;i++){
minimo=parseInt(form_cantidades.minimo+i.value);
saldo=parseInt(form_cantidades.saldo+i.value);
requerido=parseInt(form_cantidades.requerido+i.val ue);
sugerido=requerido-saldo+minimo;
pedido=i;
if(sugerido<0){
form_cantidades.pedido+i.value=0;
}else{
form_cantidades.pedido+i.value=sugerido;
}
}
}
</script>

<%
for (int i = 0; i < listaArticulos.size(); i++) {
out.println("<tr onmouseover='this.style.backgroundColor = \"gray\"' onmouseout='this.style.backgroundColor = \"gainsboro\"' style='height: 40'>");
out.println("<td>" + listaArticulos.get(i).getNombre() + "</td>");
out.println("<td>" + listaArticulos.get(i).getUnidad() + "</td>");
//out.println("<td align='center'><input type='text' size='1' maxlength='4' value='" + listaArticulos.get(i).getCodint() + "' name='minimo' onfocus='this.value=\"\";'></td>");
%>

<td align='center'><input type='text' name="minimo<%=i%>" value="<%=listaArticulos.get(i).getCodint()%>" onblur="calcular()"></td>
<td align='center'><input type='text' name="saldo<%=i%>" onclick="this.select();" onblur="calcular()"></td>
<td align='center'><input type='text' name="requerido<%=i%>" onclick="this.select();" onblur="calcular()" onkeypress="calcular()"></td>
<td align='center'><input type='text' size='1' maxlength='4' name="pedido<%=i%>" onclick="this.select();"></td>

<% out.println("</tr>");
}
%>
  #2 (permalink)  
Antiguo 14/01/2013, 17:59
 
Fecha de Ingreso: julio-2008
Mensajes: 91
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: ¿Como puedo tomar el name de un input text en javascript?

Hola, está es una manera:

Hagamos de cuenta que este es el formulario:
Código HTML:
Ver original
  1. <form name="form1" id="form1">
  2. <input type="text" name="texto1" id="texto1" value="valor1" />
  3. <input type="text" name="texto2" id="texto2" value="valor2" />
  4. <input type="text" name="texto3" id="texto3" value="valor3" />
  5. </form>

Y el javascript
Código Javascript:
Ver original
  1. //Obtener elementos del formulario
  2. var elements = document.forms[0].elements;
  3. //Obtener numero de elementos del formulario
  4. var controls = elements.length;
  5. //Recorrer cada elemento
  6. for (x=0; x<controls; x++){
  7.     //Si es input text obtener su name
  8.     if (elements[x].type=="text"){alert(elements[x].name);}
  9.     //console.dir(elements[x]);
  10. }

Espero te sirva de ayuda.
  #3 (permalink)  
Antiguo 16/01/2013, 07:54
Avatar de elemperador88  
Fecha de Ingreso: enero-2013
Mensajes: 13
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: ¿Como puedo tomar el name de un input text en javascript?

Si es muy útil, pero tengo el mismo problema no puedo concatenar el nombre con la variable del for ya sea x o i; por ejemplo form_cantidades.minimo+i.value o elements[x].name=="minimo",x;
ya sea con '+' o ','

Etiquetas: input, js, tomar, txt
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 07:59.