Foros del Web » Programando para Internet » Javascript »

Problemas con Onfocus

Estas en el tema de Problemas con Onfocus en el foro de Javascript en Foros del Web. Que tal comunidad les traigo otro problema ojala y me puedan ayudar tengo el siguiente codigo Código PHP: echo  "<td><input style='border:none' type='text' name='clave" . $j . "' id='clave" . ...
  #1 (permalink)  
Antiguo 30/09/2011, 09:22
 
Fecha de Ingreso: septiembre-2011
Ubicación: Jalapa, Veracruz
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Problemas con Onfocus

Que tal comunidad les traigo otro problema ojala y me puedan ayudar

tengo el siguiente codigo

Código PHP:
echo "<td><input style='border:none' type='text' name='clave".$j."' id='clave".$j."' value='".$_SESSION['clave'][$j]."' ></td>";
            echo 
"<td><input style='border:none' type='text' name='desc".$j."' id='desc".$j."'   value='".$_SESSION['desc'][$j]."'></td>";
            echo 
"<td><input style='border:none' type='text' name='cant".$j."' id='cant".$j."'   value='".$_SESSION['cant'][$j]."'  onblur='fin(total,$j);'></td>";
            
            echo 
"<td><input style='border:none' type='text' name='puni".$j."' id='puni".$j."' value='".number_format($_SESSION['puni'][$j],2)."'></td>";
            
            echo 
"<td><input style='border:none'  value='".$_SESSION['total_p'][$j]."' type='text' name='tot".$j."' id='tot".$j."' onkeydown='enviar(event);'></td>" 
lo que quiero que cuando carge la pagina se ponga el foco en este elemento

Código PHP:
<td><input style='border:none' type='text' name='clave".$j."' id='clave".$j."' value='".$_SESSION['clave'][$j]."' ></td>"; 

espero su valiosa ayuda
  #2 (permalink)  
Antiguo 30/09/2011, 09:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 33
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con Onfocus

Eso lo puedes hacer con javascript. Una funcion onLoad en el body, y pones:
Código:
document.getElementById('fieldId').focus()
;) Suerte
  #3 (permalink)  
Antiguo 30/09/2011, 09:36
 
Fecha de Ingreso: septiembre-2011
Ubicación: Jalapa, Veracruz
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Sonrisa Respuesta: Problemas con Onfocus

Cita:
Iniciado por Desaroll Ver Mensaje
Eso lo puedes hacer con javascript. Una funcion onLoad en el body, y pones:
Código:
document.getElementById('fieldId').focus()
;) Suerte
muchas gracias por tu respuesta pero ya lo intente y me marca un error en la consola de javascript del firefox que es la que uso para estos casos

supongo que es por la variable del id que tengo en el input
aqui
Código PHP:
id='clave".$j."' 
  #4 (permalink)  
Antiguo 30/09/2011, 09:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 33
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con Onfocus

Mhh...
Podrias indicarme de donde viene $j?
De una query a la bd? De un POST o un GET?
  #5 (permalink)  
Antiguo 30/09/2011, 09:54
 
Fecha de Ingreso: septiembre-2011
Ubicación: Jalapa, Veracruz
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problemas con Onfocus

Cita:
Iniciado por Desaroll Ver Mensaje
Mhh...
Podrias indicarme de donde viene $j?
De una query a la bd? De un POST o un GET?

este es la parte del codigo de donde se saca $j
Código PHP:
 <?php
            
for($j=0;$j<=$_SESSION['contador'];$j++){ 
            
            
                
?>     <tr bgcolor="#FFFFFF" onMouseOver="this.bgColor='#8080FF';" onMouseOut="this.bgColor='#FFFFFF';">
                    <?php
            
echo "<td><input style='border:none' type='text' name='clave".$j."' id='clave".$j."' value='".$_SESSION['clave'][$j]."' ></td>";
            echo 
"<td><input style='border:none' type='text' name='desc".$j."' id='desc".$j."'   value='".$_SESSION['desc'][$j]."'></td>";
            echo 
"<td><input style='border:none' type='text' name='cant".$j."' id='cant".$j."'   value='".$_SESSION['cant'][$j]."'  onblur='fin(total,$j);'></td>";
            
            echo 
"<td><input style='border:none' type='text' name='puni".$j."' id='puni".$j."' value='".number_format($_SESSION['puni'][$j],2)."'></td>";
            
            echo 
"<td><input style='border:none'  value='".$_SESSION['total_p'][$j]."' type='text' name='tot".$j."' id='tot".$j."' onkeydown='enviar(event);'></td>";
            
            echo 
"</tr>";

            
            }
             
?>
  #6 (permalink)  
Antiguo 30/09/2011, 10:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 33
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con Onfocus

Eso genera varios campos. ¿A cual de todos le quieres hacer foco?
Si es al primero, ponde esto al body:
Código:
<body onload="document.getElementById('clave0').focus()">
y esto al codigo:
Código PHP:
<?php
 
for($j=0;$j<=$_SESSION['contador'];$j++){ 
            
            
                
?>     <tr bgcolor="#FFFFFF" onMouseOver="this.bgColor='#8080FF';" onMouseOut="this.bgColor='#FFFFFF';">
                    <?php
            
echo "<td><input id='clave".$j."' style='border:none' type='text' name='clave".$j."' id='clave".$j."' value='".$_SESSION['clave'][$j]."' ></td>";
            echo 
"<td><input style='border:none' type='text' name='desc".$j."' id='desc".$j."'   value='".$_SESSION['desc'][$j]."'></td>";
            echo 
"<td><input style='border:none' type='text' name='cant".$j."' id='cant".$j."'   value='".$_SESSION['cant'][$j]."'  onblur='fin(total,$j);'></td>";
            
            echo 
"<td><input style='border:none' type='text' name='puni".$j."' id='puni".$j."' value='".number_format($_SESSION['puni'][$j],2)."'></td>";
            
            echo 
"<td><input style='border:none'  value='".$_SESSION['total_p'][$j]."' type='text' name='tot".$j."' id='tot".$j."' onkeydown='enviar(event);'></td>";
            
            echo 
"</tr>";

            
            } 
?>
Si te tira un error la consola, dime que error es ;)

PD: Al campo le agregé un atributo id, para que sea mas facil de encontrar por javascript ;)
  #7 (permalink)  
Antiguo 30/09/2011, 10:32
 
Fecha de Ingreso: septiembre-2011
Ubicación: Jalapa, Veracruz
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problemas con Onfocus

Lo que hice fue un punto de venta que al presionar tab se recargara la pagina y que agregara los campos anteriores previamente llenados en variables de sesion
ahora el problema es que lo que quiero es cada vez que recargue la pagina el focus se establezca en el input con id= clave

ahora a lo que te refieres que le pusiste el id aqui
Código PHP:
echo "<td><input id='clave".$j."' style='border:none' type='text' name='clave".$j."' id='clave".$j."' value='".$_SESSION['clave'][$j]."' ></td>"
checa que ya tambien tiene el id osea que se repiten

voy a checar algo si queda posteo para ayudar a la gente necesitada :)
  #8 (permalink)  
Antiguo 30/09/2011, 10:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 33
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Problemas con Onfocus

XD, no lo vi el id, disculpa.
Si no funciona aca te dejo otra posibilidad:
Ponle esto alrededor del body:
Código PHP:
<?php
$iddestino
//Aca pon la id de la clave a la que quieres ir
echo "<body onload=\"document.getElementById('clave".$iddestino."').focus()\">";
?>
  #9 (permalink)  
Antiguo 30/09/2011, 12:02
 
Fecha de Ingreso: septiembre-2011
Ubicación: Jalapa, Veracruz
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Problemas con Onfocus

Que tal colega ya solucione mi problema quedo asi el body

Código PHP:
<body onLoad="document.formu.clave<? echo $_SESSION["contador"]?>.focus();">
donde
Código PHP:
$_SESSION["contador"
este va a la par con el valor de
Código PHP:
$j 
espero que sirva para algun colega desesperado como yo jejejeje

Etiquetas: onfocus, php
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:16.