Foros del Web » Programando para Internet » Javascript »

llamado a una funcion

Estas en el tema de llamado a una funcion en el foro de Javascript en Foros del Web. Hola, tengo una funcion que es llamada por este boton <input name="conection" onClick="conectar(this);" type="button" class="botom" id="conection" value="Conectar"> digamos que yo quiero eliminar eso y que ...
  #1 (permalink)  
Antiguo 14/05/2010, 11:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 43
Antigüedad: 17 años
Puntos: 0
llamado a una funcion

Hola, tengo una funcion que es llamada por este boton

<input name="conection" onClick="conectar(this);" type="button" class="botom" id="conection" value="Conectar">

digamos que yo quiero eliminar eso y que sea llamada directamente sin precionar el boton..

<script type="text/javascript">
conectar(this);
</script>

Resulta que la funcion se ejecuta a medias...

Estoy llamando bien a la funcion?
  #2 (permalink)  
Antiguo 14/05/2010, 11:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: llamado a una funcion

El this hace referencia al elemento en que se está usando. El usuarlo fuera de algún elemento no va a funcionar porque no encuentra el elemento, ya que no estás en alguno. Vas a tener que indicar el elemento en forma explícita, como por ejemplo
Código PHP:
Ver original
  1. conectar(document.getElementById('nombre_del_id_del_elemento'));
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/05/2010, 12:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 43
Antigüedad: 17 años
Puntos: 0
Respuesta: llamado a una funcion

Gracias por responder..
Me aclarastes esa duda ya que ignoraba que this hacia referencia a ese boton

Pero tengo un problema con la funcion, en teoria deberia de correr igual a que si se hace click en el boton pero no es asi.

Si toco el boton la funcion se ejecuta perfectamente pero con el llamado ese hay 2 lineas que no se ejecutan

function conectar(_this){
html('usuarios','<p>&nbsp;</p> <p>&nbsp;</p> <p align="center">Cargando...</p>');
* $('mensaje').disabled = this.checked;
* $('enviar').disabled = this.checked;



* estas 2 lineas no se ejecutan si llamo a la funcion, pero si presiono el boton si me funciona...
En teoria deberia de ser igual creo pero ignoro porque no se ejecutan...
Hay algo que influye que sea llamada del boton y manualmente??
  #4 (permalink)  
Antiguo 14/05/2010, 13:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: llamado a una funcion

Si te fijas el parametro es _this no this. Cambia this.checked por _this.checked
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 14/05/2010, 14:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 43
Antigüedad: 17 años
Puntos: 0
Respuesta: llamado a una funcion

Gracias por responder..

Se que seria abusar de tu buena voluntad o la de otros pero el tema es que a pesar de que cambie ese parametro sigue sin funcionar.

Es decir si preciono el boton conectar me carga la funcion y anda a la perfeccion, ahora que si simplemente actualizo la pagina, si bien carga parte de los datos de la funcion, no carga el div que seria mensaje y el otro que seria enviar.. es desir no se habilitan.

function conectar(_this){

if(_this.value=="Conectar"){
html('usuarios','<p>&nbsp;</p> <p>&nbsp;</p> <p align="center">Cargando...</p>');
* $('mensaje').disabled = this.checked;
* $('enviar').disabled = this.checked;
_this.value="Desconectar";
cerrarGET('coment_tr');
verGET('cargando',true);
verGET('sala');
ir('inter.php','r='+Math.random()+'&t=ver&sala='+s ala,'coment_tr','POST',false,null,true,'cargando', true,actualizarList());
verificarPOST();
verGET('cargando',true);
ir('inter.php','r='+Math.random()+'&t=user&sala='+ sala,'usuarios','POST',false,null,true,'cargando', true,verUsGET());
ir('inter.php','r='+Math.random()+'&t=conectar&nam e='+user+'&sala='+sala,null,'POST',false,null,true ,'cargando',false,null,true);
}else{
$('mensaje').disabled = !this.checked;
$('enviar').disabled = !this.checked;
ir('inter.php','r='+Math.random()+'&t=desconectar& user='+user,null,'POST',false,null,true,'cargando' ,false,null,true);
_this.value="Conectar";
document.getElementById('coment_tr').innerHTML='<s trong>[Desconectado]</strong> OFF';
cerrarGET('cargando');
cerrarGET('usuarios');
cerrarGET('sala');
verGET('coment_tr');
clearTimeout(verifict);
clearTimeout(verifict2);
}
}

Es decir que la pagina carga y realiza todo el procedimiento hasta el else... el tema es que no me realiza estas 2 lineas * por mas que cambie el this por _this.
Me es tan confuso porque si presiono el boton conectar me funciona.. pero si llama a la funcion al cargar la pagina no me funcionan esas 2 lineas.

Es decir deberia de ser lo mismo creo..

Etiquetas: funcion, llamado
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 18:25.