Foros del Web » Programando para Internet » Javascript »

Intro como salto de campo

Estas en el tema de Intro como salto de campo en el foro de Javascript en Foros del Web. Hola, tengo una pagina con varios input text, algunos les he puesto la propiedad tabindex para establecer un orden. todos estos input sirven para entrar ...
  #1 (permalink)  
Antiguo 22/11/2006, 11:37
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Intro como salto de campo

Hola,
tengo una pagina con varios input text, algunos les he puesto la propiedad tabindex para establecer un orden.
todos estos input sirven para entrar datos umericos y se guardan sin recargar en una BD MySql utilizando PHP+AJAX.
Ahora el usuario me ha pedido q para poder ir mas rapido le assigne al intro q hay al lado del teclado numerico como salto de campo, es decir, q adopte la funcion del tabulador.

Se podria configurar con Javascript para q esa tecla fuera salto campo y no un intro?

Saludos y Gracias de antemano
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #2 (permalink)  
Antiguo 22/11/2006, 13:25
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola sergi_climent

A ver si te sirve el código de la FAQ-231

Saludos,
  #3 (permalink)  
Antiguo 24/11/2006, 04:22
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Hola,
el problema es q no uso formularios.
uso ajax para guardar los datos sin recargar la pagina, entonces no me hace falta el formulario.
pongo una parte del codigo donde tengo los input el formulario.
el 1ero es el q tiene el tabindex y el salto de campo es solo para ese input!
Código PHP:
<td align="center" width="8%">
<input onFocus="Focus(this.id, this.value)" onBlur="Blur(this.id, this.value, 'hores', <?=$res_dades[0];?>, 'hores')" class="inputoff" id="a<?=$res_dades[0];?>" value="<?=$res_dades[4];?>" size="5" maxlength="5" tabindex="<?=$i?>"></td>
<td align="center" width="8%">
<input onFocus="Focus(this.id, this.value)" onBlur="Blur(this.id, this.value, 'absencia', <?=$res_dades[0];?>, 'hores')" class="inputoff" id="b<?=$res_dades[0];?>" value="<?=$res_dades[10];?>" size="5" maxlength="5"></td>
<td align="center" width="15%">
<select onfocus="Focus(this.id, this.value)" onBlur="Blur(this.id, this.value, 'id_tipoabsencia', <?=$res_dades[0];?>, 'hores')" class="inputoff" id="c<?=$res_dades[0];?>">
saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #4 (permalink)  
Antiguo 29/11/2006, 10:49
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Hola de nuevo!
alguna idea d como puedo hacerlo?

saludos y gracias
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 29/11/2006, 11:23
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 19 años, 5 meses
Puntos: 3
Hola sergi_climent

Usa un formulario, aunque no le des ninguna utilidad aparente, te servirá para implementar el codigo que te han dado.

Saludos
  #6 (permalink)  
Antiguo 17/01/2007, 05:06
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Intro como salto de campo

Hola, resurgiendo el tema...
estube probando esta funcion y va bien cuando uso el form. lo q me gustaria es q solo saltara en campo q tiene tabindex y no a los demas campos.

como podria realizar esto?
el codigo actual es el siguiente:
Código:
<form>
...
<input onFocus="Focus(this.id, this.value)" onBlur="Blur(this.id, this.value, 'hores', <?=$res_dades[0];?>, 'hores')" class="inputoff" id="a<?=$res_dades[0];?>" value="<?=$res_dades[4];?>" size="5" maxlength="5" tabindex="<?=$i?>" onkeypress="return tabular(event,this)"/>

<input onFocus="Focus(this.id, this.value)" onBlur="Blur(this.id, this.value, 'absencia', <?=$res_dades[0];?>, 'hores')" class="inputoff" id="b<?=$res_dades[0];?>" value="<?=$res_dades[10];?>" size="5" maxlength="5">
...
</form>
solo quiero q salte en el primer input, el segundo si lo quieren escojer q lo hagan manualmente con el tabulador...

gracias de antemano,

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #7 (permalink)  
Antiguo 17/01/2007, 09:54
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Intro como salto de campo

Hola de nuevo,
encontre esto y me va a la perfeccion:

Código PHP:
function handleEnter (fieldevent) { 
        var 
keyCode event.keyCode event.keyCode event.which event.which event.charCode
        if (
keyCode == 13) { 
            var 
i
            for (
0field.form.elements.lengthi++) 
                if (
field == field.form.elements[i]) 
                    break; 
            
field.form.elements[i].tabIndex 1
            for( 
field.form.elements.lengthj++){ 
                if( 
field.form.elements[j].tabIndex == i){ 
                    break; 
                } 
            } 
            
field.form.elements[j].focus(); 
            return 
false
        } 
        else 
        return 
true
    } 
y para llamarlo:

Código HTML:
<input type="text" name="textfield" tabindex="1" onkeypress="return handleEnter(this, event)"> 
lo ultimo q me faltaria es q al hacer salto de campo si hay algun valor en ese input q me lo seleccione (como hace con el tabulador) asi se se inserta otra cosa borra automaticamente lo q habia en ese campo, sin tener q obligar al usuario a seleccionar el contenido y borrarlo manualmente!

espero q se me haya entendido!

EDITADO: de la siguiente manera seleccionas el texto:
Código PHP:
field.form.elements[j].select(); 
saludos y gracias por todo!

Última edición por sergi_climent; 17/01/2007 a las 10:12
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:54.