Foros del Web » Programando para Internet » Javascript »

Por que no puedo optener el valor???

Estas en el tema de Por que no puedo optener el valor??? en el foro de Javascript en Foros del Web. que tal...tengo un provlema, tengo un escrip para salbar los valores de una tabla(no una de una BD) y ya hace todo pero no puedo ...
  #1 (permalink)  
Antiguo 09/12/2005, 13:04
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Pregunta Por que no puedo optener el valor???

que tal...tengo un provlema, tengo un escrip para salbar los valores de una tabla(no una de una BD) y ya hace todo pero no puedo obtener el valor que selecciona un usuario de un combo, esta es la linea:

opcion=document.FORM1.elements["nuevoUsuario"].value;

obviamente el nombre del combo es "nuevoUsuario" y esta dentro del mismo formulario y todo eso, lo unico que no me funciona es esa linea, me la da vacia!! alguien sabe que pasa??
  #2 (permalink)  
Antiguo 09/12/2005, 13:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años
Puntos: 772
Hola zyon

Prueba con:

opcion=document.FORM1.nuevoUsuario.value;

o también:

opcion=document.FORM1["nuevoUsuario"].value;

Saludos,
  #3 (permalink)  
Antiguo 09/12/2005, 13:10
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Mmmmmm, ya intente eso tambien y sigue sin devolverme nada, y ya me empieso a desesperar, no sera en lugar de value otra cosa asi como el radio tiene checked o algo asi????
  #4 (permalink)  
Antiguo 09/12/2005, 13:14
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años
Puntos: 772
Hola de nuevo.

¿Puedes poner el formulario que estás usando?

Saludos,
  #5 (permalink)  
Antiguo 09/12/2005, 13:40
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
aver si se entiende..

Esta bastante grande el jsp, pero te mado loq ue uso para ese caso:

con el primer script guardo lo que tengo en los text para no perder esa informacion cuando se vuelva apintar la tabla, hay es donde no me devuelve nada "opcion" y el segundo script es para repintar la tabla con un nuevo campo que deb contener lo que selecciono el usuario del combo!!(todo va dentro del mismo formulario "FORM1")

<SCRIPT LANGUAGE="JavaScript">
var cont3=0;
var arreglo2;
var claveVaciaU, noEliminarU, opcion, nuevoUsuario;

function almacenarUsuarios(){
arreglo2=new Array(cont3+1);
for (i=0; i<cont3;i++){
claveVaciaU=document.FORM1.elements["claveVaciaU"+i].value;
nuevoUsuario=document.FORM1.elements["nuevoUsuario"+i].value;
noEliminarU=document.FORM1.elements["noEliminarU"+i].value;
arreglo2[i]=new Array(claveVaciaU,nuevoUsuario,noEliminarU);
}
opcion=document.FORM1.elements["nuevoUsuario"].value; alert("opcion : "+opcion);
arreglo2[cont3]=new Array("",opcion,"");
cont3=cont3+1;
construirTabla2();
}

function construirTabla2(){
while (tablaNUsuarios.rows.length>1)
tablaNUsuarios.deleteRow(1);
for (i=0;i<cont3;i++){
var filas = tablaNUsuarios.insertRow();
var objCell;
for (j=0;j<3;j++){
objCell = filas.insertCell();
if ( j==0 )
objCell.innerHTML='<INPUT TYPE="hidden" NAME="claveVaciaU'+i+'" VALUE="claveVaciaU">';
if ( j==1 )
objCell.innerHTML='<INPUT TYPE="text" name="nuevoUsuario'+i+'" value="'+arreglo2[i][1]+'" size="40" maxlength="70">';
if ( j==2 )
objCell.innerHTML='<INPUT TYPE="hidden" NAME="noEliminarU'+i+'" VALUE="no">';
}
}
}
</SCRIPT>

//************************************

este es el combo que yama al script y de donde se toma el valor que selecciona el usuario...

<select name="nuevoUsuario" onChange="almacenarUsuarios()">
<option value="0"></option>
<option value="1">Omar Castrejon</option>
<option value="2">Jose Mart&iacute;nez</option>
<option value="3">Brenda Jazmin</option>
</select>

////******************************************

esta es una tabla diferente a la que esta el combo de arriba y es donde se generan las nuevas filas donde se almacena la seleccion del usuario en el combo...

<table width="770" border="0" id="tablaNUsuarios">

<tr>
<td width="205"><INPUT TYPE="hidden" NAME="claveVaciaU" VALUE="claveVaciaU"></td>
<td width="281"><input type="hidden" name="nuevoUsuario" value="nombreUsuario" size="40" maxlength="70" disabled></td>
<td width="270"><INPUT TYPE="hidden" NAME="noEliminarU" VALUE="no"></td></td>
</tr>
</table>
  #6 (permalink)  
Antiguo 09/12/2005, 14:19
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 20 años, 3 meses
Puntos: 3
1) ¿cómo se llama el FORM?
2) Tienes dos controles con el mismo nombre, "nuevoUsuario". A no ser que estén en forms diferentes, dará problemas.

Pon el código HTML del formulario, no el JS. En especial, la línea <FORM name=...>
__________________
Angel :cool:
  #7 (permalink)  
Antiguo 09/12/2005, 14:56
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
El formulario se llama FORM1 y solo tengo un control con ese nombre...

<form name="FORM1" method="post" action="SModificacionProyecto"> y repito, no pongo todo or q esta grande pero si lo quieren lo paso...
  #8 (permalink)  
Antiguo 12/12/2005, 03:23
 
Fecha de Ingreso: noviembre-2005
Mensajes: 42
Antigüedad: 19 años, 2 meses
Puntos: 0
Prueba con document.getElementById('nuevoUsuario').value

Hay veces que acceder por el atributo name falla, sin embargo el id no falla nunca (al menos a mi no me ha fallado nunca)
  #9 (permalink)  
Antiguo 12/12/2005, 03:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Hola:

Las opciones que te han dado (y la tuya) me parecen válidas

Yo suelo usar la colección de formularios (forms)

document.forms.FORM1.nuevoUsuario.value; //...

Aunque si no te han servido las opciones que te han dado, podría tratarse de algún otro error... Para depuración de errores es mejor usar la consola javascript de mozilla u opera.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 11:04.