Foros del Web » Programando para Internet » Javascript »

Duda con getElementById

Estas en el tema de Duda con getElementById en el foro de Javascript en Foros del Web. Hola a todos! como estan? bueno, estoy comenzando con javascript y tengo un problema que poco a poco voy solucionando. El tema es el siguiente, ...
  #1 (permalink)  
Antiguo 17/08/2008, 14:32
Avatar de goroscer  
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años
Puntos: 0
Duda con getElementById

Hola a todos! como estan? bueno, estoy comenzando con javascript y tengo un problema que poco a poco voy solucionando. El tema es el siguiente, estoy en la tarea de querer mandar todo los datos de un formulario por post con la clase XMLHttpRequest. Mi idea inicialmente era mandar los datos del formulario concatenandolas en una variable y quise hacer esa concatenacion con getElementById, por ejemplo

Código:
nombre=document.getElementById('vble_numerica').value+"/"+document.getElementById('vble_letras').value;
pero lamentamblemente no me funciono (probe supongo que es porq queria concatenar variables numericas y letras).
Luego, despues de andar buscando informacion de lo que podria llegar a ser, hice referencia directamente al formulario de esta forma:
Cita:
nombre=document.form.nombre1.value+document.form.n ombre2.value+document.form.nombre3.value
y funciono perfectamente.
Cual es la diferencia?? en todo mi proyecto utilize getElementById y siempre funciono perfectamente.
Aclaro ademas que la concatenacion no es necesaria puedo mandar las variables por separadas cuando hago refencia al formulario mediante "document.form.nombre1.value" pero no ocurre lo mismo cuando deseo usar getElementById
Bueno, espero su ayuda y gracias por su colaboracion!!!

Última edición por goroscer; 17/08/2008 a las 14:53 Razón: aclaraciones sobre el problema
  #2 (permalink)  
Antiguo 17/08/2008, 17:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Duda con getElementById

Habría que ver el contexto para darte una respuesta mejor. En principio, sólo decirte que document.gerElementById('id_elemento').value funcionaría sin problemas en el ejemplo que describiste.
  #3 (permalink)  
Antiguo 18/08/2008, 07:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Pregunta Respuesta: Duda con getElementById

Pues como te dijo, Panino5001. El ejemplo que pusiste funcionaría perfectamente si el id que estás usando es el correcto. Habría que ver el contexto para saber por qué no funcionó en tu caso.

Y tampoco el problema es con lo de variables numéricas y cadenas de texto. Prueba, por ejemplo:
Código PHP:
var numero=123;
var 
letras="test";
alert(numero+"/"+letras); 
Y verás que funciona sin más problemas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 18/08/2008, 10:49
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Duda con getElementById

Cita:
Cual es la diferencia??
hola, soy nuevo por aqui, bueno es decir, no tengo muchas respuestas por lo que no puedo ponerte un link de ejemplo o descarga, pero te pongo el codigo:

Código:
<form name="a">
<input name="ia" id="ia" value="aa" />
<input name="ib" id="ib" value="22" />
</form>
<script language="javascript">
document.write(document.a.ia.value+' - '+document.a.ib.value+'<br>');
document.write(document.getElementById('ia').value+' - '+document.getElementById('ib').value);
</script>
_______________________________________________________________________
se supone que tu codigo debe ser algo asi, ya que el codifo javascript, sabes que debe ir despues de el form sino no reconoce los id.....

por ultimo, si esta asi, puede ser mal tipeo de tus variables, ya que deberia de salir como mencionan anteriormente.

espero haberte ayudado, sino consultame a [email protected]
  #5 (permalink)  
Antiguo 18/08/2008, 13:47
Avatar de goroscer  
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años
Puntos: 0
Respuesta: Duda con getElementById

hola como estan y gracias por responder!! si bien coincido totalmente con ustedes me gustario que si pueden me aclaren esta duda. Dejare el contexto y explicare lo que pretendo hacer para que se entienda mejor mi duda: Tengo una funcion Js que se llama validardatos() y lo que hace por supuesto es validar datos de un formulario antes de enviarlo a la BD. Dentro de esa funcion tengo el objeto XMLHttpRequest que es el encargado de mandar los datos de ese form al servidor. Copio el codigo:

Código:
function validardatos()
{
// validando datos del formulario.
// salgo de la funcion para el caso en que la validacion no se correcta

var pos_url = 'modulos/ver-si-existe-al.php';
var legajo=document.altasdealumnos.legajo.value; // si uso legajo=document.getElementById('legajo').value no funciona
var nombre_alu=document.altasdealumnos.nombre_alu.value; //  si uso nombre_alu=document.getElementById('nombre_alu').value no funciona
var req = new XMLHttpRequest();
if (req) 
       {
	    req.onreadystatechange = function()
		   {
              if (req.readyState == 4 && (req.status == 200 || req.status == 304)) 
		       {
			alert(req.responseText)   // visualizo si esta enviando
			  
			}
            }

req.open('POST', pos_url,true);
req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');  
req.send('legajo='+legajo+'&nombre_alu='+nombre_alu);
        }
          
}
ahora bien, si ejecuto esta funcion como esta..funciona perfectamente!, pero si uso getElementById deja de hacerlo. Tambien probe concatendando con getElementById los datos del formulario a enviar y se dio que la funcion validardatos funcionaba para el caso en que concatenaba dos variables del mismo tipo y no para variables de distinto tipo. Cuando probe concatendo la variable a enviar haciendo referencia al name del formulario si funciono.
La verdad venia bien con getElementById pero esto me complico je je..pero de seguro que como ustedes dicen hay que ver el contexto(o sea al programador jjejeje)
Bueno, desde ya agradezco sus respuestas a mi duda. Saludos!!
  #6 (permalink)  
Antiguo 18/08/2008, 13:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: Duda con getElementById

Tal vez estás confundiendo el atributo name con el id. Por ejemplo, si colocas:
Código PHP:
<input type="text" name="legajo" /> 
No podrás usar getElementById, para poder usarlo debería ser:
Código PHP:
<input type="text" name="legajo" id="legajo" /> 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 18/08/2008, 14:03
Avatar de goroscer  
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años
Puntos: 0
Respuesta: Duda con getElementById

sii era eso jeje.. me pase...estaba por pegar el formulario para mostrarles y revisando me di cuenta que algunos de los "input" del formulario tenian el "id" definido y habia algunos que no. Bueno..ahora explico todo!! ja..bueno, gracias a ustedes nuevamente. Saludos!!
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 23:28.