Foros del Web » Programando para Internet » Javascript »

Focos

Estas en el tema de Focos en el foro de Javascript en Foros del Web. Buenos días, estoy intentando dejar el foco en un input que esta dentro de un div pero no lo logro, si alguien me puede dar ...
  #1 (permalink)  
Antiguo 07/10/2010, 07:17
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Focos

Buenos días, estoy intentando dejar el foco en un input que esta dentro de un div pero no lo logro, si alguien me puede dar alguna pista estaré muy agradecido.
Desde ya muchas gracias a todos
  #2 (permalink)  
Antiguo 07/10/2010, 08:12
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 17 años, 10 meses
Puntos: 34
Respuesta: Focos

Saludos,

formulario.input.focus();

si esto no soluciona tu problema seria bueno que postearas parte del codigo, suerte.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #3 (permalink)  
Antiguo 07/10/2010, 08:14
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: Focos

has de hacer referencia al elemento o bien por su nombre o por su id
  #4 (permalink)  
Antiguo 07/10/2010, 08:40
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

Bitbow e IsaBelM muchas gracias por sus respuesta, intente hacerlo de la forma que ustedes me indican pero me fue imposible, agrego parte del código para que sea mas facil de ver:

echo '<div id = '.$anexo.$anexo1.' style="display:none">';
if ($factura== 'SI'){//(2)
echo '<label><input type="text" name="cantidad" id="$codigo"
value="" size="3" onfocus="javascript:obtenerCantidadActual(this,
\''.$contador.'\');" onblur="javascript: obtenerCantidadActual(this,
\''$contador.'\');" /> </label>';
}
echo '</div>';

Yo tengo un div, y dentro de él tengo este input al cual necesito hacer foco para que se ejecute un evento y valide lo que tengo dentro de la caja de texto cada vez que lo abra ya que no se borrara lo ingresado.

Saludos y muchas gracias
  #5 (permalink)  
Antiguo 07/10/2010, 09:05
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Focos

¿Dónde está campo.focus()?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 07/10/2010, 09:26
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

_cronos2 esto es lo que tengo, estaría faltando algo?
Saludos y gracias por tu interes
  #7 (permalink)  
Antiguo 07/10/2010, 11:44
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Focos

Para que un script se ejecute debe ir asociado a un evento, más o menos. ¿Cuándo quieres que se le dé el foco al campo? ¿Al cargar la página?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #8 (permalink)  
Antiguo 07/10/2010, 12:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: Focos

el evento que necesitas es onload, este lanza una pequeña función cuyo contenido es el arriba indicado
  #9 (permalink)  
Antiguo 07/10/2010, 12:08
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

Te cuento el usuario ingresa una cantidad de productos a comprar en un div, y al agregar se cierra y muestra solo el número del pedido. Yo quiero que cada vez que el usuario pinche este número el div se abra y el foco quede en el input de cantidad.
Pego el codigo de js que utilizo:
function foco(prm1){
variable = document.getElementById(prm1).focus();
return variable
}

me da el siguiente error: document.getelementbyid is null or not an object

Saludos y gracias _cronos2
  #10 (permalink)  
Antiguo 07/10/2010, 12:11
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Focos

Quita return variable, return se usa para devolver un valor, pero tú ahí lo que quieres es dar el foco, por tanto no tienes que devolver nada. Y no pongas variable=document.getElementById(prm1).focus(), pon simplemente document.getElementById(prm1).focus() .
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #11 (permalink)  
Antiguo 07/10/2010, 12:12
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

IsaBelM no necesito que el foco se cargue al cargar la pagina porque ese campo al cargar la pagina esta oculto y se muestra cuando pincho en un número que al principio es el 0 y que va cambiando según la cantidad de articulos que vaya pidiendo el usuario.
Muchas gracias por tu ayuda
  #12 (permalink)  
Antiguo 07/10/2010, 12:19
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

Cita:
Iniciado por _cronos2 Ver Mensaje
Quita return variable, return se usa para devolver un valor, pero tú ahí lo que quieres es dar el foco, por tanto no tienes que devolver nada. Y no pongas variable=document.getElementById(prm1).focus(), pon simplemente document.getElementById(prm1).focus() .
Saludos (:
_Cronos2 seguí tu sugerencia pero el error es el mismo.

Saludos
  #13 (permalink)  
Antiguo 07/10/2010, 12:22
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: Focos

ese error viene dado del hecho que el elemento aún está oculto en el momento de darle el foco. en la misma función con la que muestras el campo ha de esta esta línea de código
Cita:
document.getElementById(prm1).focus();
  #14 (permalink)  
Antiguo 07/10/2010, 12:26
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Focos

Bueno creo que yo me he perdido del todo, postea el código que tengas para ocultar el div, el código del div en HTML y la función esta para dar el foco.
Saludos :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #15 (permalink)  
Antiguo 07/10/2010, 12:38
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

Cita:
Iniciado por IsaBelM Ver Mensaje
ese error viene dado del hecho que el elemento aún está oculto en el momento de darle el foco. en la misma función con la que muestras el campo ha de esta esta línea de código
IsaBelM estoy probando lo que me decis. Te cuento como me fue en un rato
Saludos y gracias
  #16 (permalink)  
Antiguo 07/10/2010, 13:01
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

Dale _cronos2 los posteo si no logro resolverlo en breve, saludos
  #17 (permalink)  
Antiguo 07/10/2010, 13:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Exclamación Respuesta: Focos

Hooa yo tengo el mismo problema que IsabelM pero el error es por que el campo no existe, lo probe con un imput tampoco resulta, pero la diferencia es que yo me quireo cambiar de una pestaña a otra la cul fue creada con css.

el llamado a al fun.

[PHP]

<td>{$i}.-</td>
{if $editAllowed<>'false'}
<td colspan="3" id="div_nombre{$division.FormacionVegetal.div_id}S PAN" ondblclick="editar(this,{$division.FormacionVegeta l.div_id},'div_nombre')">
{else}
<td colspan="3" id="div_nombre{$division.FormacionVegetal.div_id} " >
{/if}

/************************************************** ******/
<span id="div_nombre{$division.FormacionVegetal.div_id} " ><a href="#" onclick="buscarDe({$division.FormacionVegetal.div_ id}); foco('clase');" > {$division.FormacionVegetal.div_nombre}</a> </span>

/************************************************** *******/
</td>
<td>
/PHP]

el lugar dode se mob.

Código PHP:
<div  class="tabbertab">
        <
h2><a name="tab2">Clase</a></h2>
            <
input type="text" value="aqui" id="clase" >
                <
table>
                    <
tr>
                    <
td>
        
Clase  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
        <
a name="jarra">Índice de contenidos</am

la func.

Código PHP:

function foco(prm1)
{
//    alert(prm1);
//    document.getElementById("clase").focus();
    
document.getElementById(prm1).focus();


  #18 (permalink)  
Antiguo 08/10/2010, 07:40
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Focos

Cita:
Iniciado por _cronos2 Ver Mensaje
Bueno creo que yo me he perdido del todo, postea el código que tengas para ocultar el div, el código del div en HTML y la función esta para dar el foco.
Saludos :D
_cronos2 posteo el codigo para ver si ayuda un poco mas.

Saludos y gracias

Código HTML:
Ver original
  1. echo '<div id = '.$contador.' name="namediv"  width:280px;" align="center" class="claseNameDiv">';
  2.         echo $enlace = '<a href = "#" onclick="mostar_cantidad_precio(\''.$contador.'\', \''.$codigo.'\', \''.$lote.'\', \''.$contador.'\', \''.$regXpagina.'\' )">'.$cant_pedida.'</a>';
  3. echo '</div>';
  4.                                        
  5. $anexo=_1_;
  6. $anexo_3 ='_2_';
  7. echo '<div id = '.$anexo.$contador.' name="namediv_1" style="display:none; width:280px;" class="claseNameDiv_1">';
  8.          if ($Factura== 'SI'){
  9.             echo " Cantidad: ";
  10.             echo '<label><input type="text" name="my-item-qty" id='.$anexo_3.$contador.' value="" size="3");" /> </label>';
  11.                                                
  12.             echo '<a href = "#" onclick="cancelar(\''.$anexo.$contador.'\', \''.$prm1.'\', \''.$prm2.'\', \''.$prm3.'\', \''.$prm4.'\', \''.$prm5.'\');"> <img src = "./img/bt-eliminar.gif" border = "0"> </a>';
  13.          } 
  14. echo '</div>';

Código Javascript:
Ver original
  1. function mostar_cantidad_precio(id, codigo, lote, contador, regPorPagina){
  2.     var anexo ='_1_';
  3.     var id_2 = anexo+contador;
  4.     prm14 =id;
  5.     prm1= codigo;
  6.     prm2 = lote;
  7.     prm15 = contador;
  8.     prm16 = regPorPagina;
  9.  
  10.     if (document.getElementById(id).style.display !='none')
  11.     {  
  12.         document.getElementById(id).style.display='none';//oculto la cantidad
  13.         document.getElementById(id_2).style.display='block';//muestro los input para agregar cantidad y precio
  14.         var anexo_3 ='_2_'
  15.         id_3 = anexo_3 + contador;                   //----//
  16.         document.getElementById(id_3).focus(); //FOCO//
  17.     }else{                   //----//
  18.         document.getElementById(id).style.display='block';//muestro la cantidad
  19.         document.getElementById(id_2).style.display='none';//oculto los input para agregar cantidad y precio
  20.     }
  21.  
  22.     divId = document.getElementById(id);
  23.     ajax= objetoAjax();
  24.         nroRep = 40;
  25.         ajax.open("GET", './Rep_'+nroRep+'.php?prm14='+prm14+'prm1='+prm1+'&prm2='+prm2+'&prm4='+prm4+'&prm15='+prm15+'&prm16='+prm16);
  26.  
  27.         ajax.onreadystatechange=function() {
  28.  
  29.             if (ajax.readyState==4) {
  30.                  divId.innerHTML = ajax.responseText
  31.             }
  32.         }
  33.         ocultatodo(prm15, prm16);
  34. }

Última edición por decano1891; 08/10/2010 a las 08:29

Etiquetas: Ninguno
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 17:38.