Foros del Web » Programando para Internet » Javascript »

this.id me devuelve undefined

Estas en el tema de this.id me devuelve undefined en el foro de Javascript en Foros del Web. Buenos dias, Tengo el siguiente código, el cual me recoge el id, através de la función IdCentre. <script type="text/javascript"> function IdCentre(centre){ var valor=centre; return valor; ...
  #1 (permalink)  
Antiguo 27/12/2013, 06:29
 
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
this.id me devuelve undefined

Buenos dias,
Tengo el siguiente código, el cual me recoge el id, através de la función IdCentre.

<script type="text/javascript">
function IdCentre(centre){
var valor=centre;
return valor;
}
</script>

<ul>
<li><a href="#" class="showTip fitxa" id="8600" onMouseOver="IdCentre(this.id);">Link 1</a></li>
</ul>

El valor del id obtenido por idCentre quiero que me lo recoja la función fitxa la cual buscará una serie de valores en un array que serán mostrados en un tooltip
El siguiente código está dentro de un div del toooltip

<span style="top:2px;left:5px;font:17px calibri;font-weight:bold;">
<script>document.write(fitxa( IdCentre(), 11));</script>
</span>

El problema es que me sale UNDEFINED.
Dentro de la función IdCentre, si utilizo document.write(centre) puedo ver el valor del id, fuera de ella no existe.

Gracias
  #2 (permalink)  
Antiguo 27/12/2013, 08:03
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: this.id me devuelve undefined

Nunca coloques id que empiecen por solo números.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 27/12/2013, 08:48
 
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: this.id me devuelve undefined

El problema persiste de la misma manera
  #4 (permalink)  
Antiguo 27/12/2013, 08:53
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: this.id me devuelve undefined

A ver analicemos bien el código:

Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function IdCentre(centre){
  3.     var valor=centre;
  4.     return valor;
  5. }
  6. <ul>
  7.     <li><a href="#" class="showTip fitxa" id="8600" onMouseOver="IdCentre(this.id);">Link 1</a></li>
  8. </ul>
  9. <span style="top:2px;left:5px;font:17px calibri;font-weight:bold;">
  10.     <script>document.write(fitxa( IdCentre(), 11));</script>
  11. </span>

Llama dos veces a IdCentre, en una si le pasas el id, y en la segunda no

Código HTML:
Ver original
  1. <script>document.write(fitxa( IdCentre(), 11));</script>

Notas esa diferencia?

No se exactamente que quieres hacer, pero este planteamiento esta erroneo

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 27/12/2013, 09:23
 
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: this.id me devuelve undefined

Basicamente sería recoger el valor del id en el evento onMouseOver y pasarlo a la funció "fitxa", teniendo en cuenta que la función "fitxa" utiliza dos argumentos, siendo id uno de ellos.
He utilizado la función "idCentre" para obtener simplemente el valor del ID
  #6 (permalink)  
Antiguo 27/12/2013, 09:25
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: this.id me devuelve undefined

Puedes mostrar el html completo? así de pronto me hago mas a la idea de como replantear el problema

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 27/12/2013, 09:35
 
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: this.id me devuelve undefined

Te adjunto el html completo

<html>
<head>
<title>Demo</title>
<link rel="stylesheet" href="js-css/ex.css" type="text/css">
<script src="js-css/dw_tooltip_c.js" type="text/javascript"></script>
<script src="bd-9094B.js" type="text/javascript"></script>

<style type="text/css">
div#tipDiv {
color:#000;
background-color:#ffffff;
border:1px solid #667295;
width:400px;
height:150px
}

div#tipDiv ul.tipContentList {
margin: .5em 0 1em 2em;
padding:0;
}

</style>
<script type="text/javascript">
dw_Tooltip.defaultProps = {
content_source: 'class_id'
}
dw_Tooltip.writeStyleRule();
</script>

<script type="text/javascript">
function IdCentre(centre){
var valor = centre;
//document.write(centre);
return valor;
}
</script>

</head>
<body>

<ul>
<li><a href="#" class="showTip fitxa" id="8600" onMouseOver="IdCentre(this.id);">Link 1</a></li>
<li><a href="#" class="showTip fitxa" id="8601" onMouseOver="IdCentre(this.id);">Link 2</a></li>
</ul>

<style>
span{
position:absolute;
}
span.gen1, span.gen2{
font:12px calibri;
font-weight:bold;
}
span.gen1{
left:100px;
}
span.gen2{
left:210px;
}
</style>


<div id="fitxa" class="TipContent">
<span style="top:2px;left:5px;font:17px calibri;font-weight:bold;">
<script>document.write(fitxa( IdCentre(), 11));</script>
</span>
<span style="top:25px;left:5px;"><img src="Foto/8600.jpg" width="82" height="103"></span>
<span style="top:20px;left:100px;font:17px calibri;font-weight:bold;">
<script>document.write(fitxa(IdCentre(), 1));</script>
</span>
<span class="gen1" style="top:40px;">Teléfon:</span>
<span class="gen2" style="top:40px;"><script>document.write(fitxa(IdC entre(), 2));</script></span>
<span class="gen1" style="top:60px">Movil:</span>
<span class="gen2" style="top:60px;"><script>document.write(fitxa(IdC entre(), 3));</script></span>
<span class="gen1" style="top:75px;">Fax:</span>
<span class="gen2" style="top:75px;"><script>document.write(fitxa(IdC entre(), 4));</script></span>
</div>

</body>
</html>


Saludos
  #8 (permalink)  
Antiguo 30/12/2013, 14:07
 
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: this.id me devuelve undefined

Tal com me has comentado te adjunto fichero bd-9094B.js
/* Dades*/

var categ = [
"9021 AAAAAAAAAAAAAAAAAAAAAAAAA 999999999 3821650 667777777 14112 961111111",
"8600 BBBBBBBBBBBBBBBBBBBBBBBBB 888888888 5860001 695555555 1954602 934444444",
"8607 CCCCCCCCCCCCCCCCCCCCCCCCC 777777777 5860701 624444444 12584 935877777",
"8610 DDDDDDDDDDDDDDDDDDDDDDDDD 666666666 5861001 613333333 16032 938606666",
"8611 EEEEEEEEEEEEEEEEEEEEEEEEE 555555555 5861101 612222222 16770 972553333"];

/* --------------------------------------------------------------------------------------------------- */

function fitxa(ofic,pos){
for (i=0;i<categ.length;i++){
if(categ[i].substring(0,4) == ofic){
if (pos == 2){ // Telefono/Corporativo
return categ[i].substring(35,44)+" / "+categ[i].substring(45,53);
}
if (pos == 3){ // Movil/Corto
return categ[i].substring(53,63)+" / "+categ[i].substring(63,71);
}
if (pos == 4){ // Fax
return categ[i].substring(71,80);
}
}
}

}

Muy amable por tu colaboración

Etiquetas: devuelve, undefined, valor
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 06:44.