Foros del Web » Programando para Internet » Javascript »

no enviar formulario con tecla ENTER

Estas en el tema de no enviar formulario con tecla ENTER en el foro de Javascript en Foros del Web. hola amigos del foro mi duda es la siguiente. tengo un formulario y necesito que cuando el usuario presione la tecla ENTER el formulario NO! ...
  #1 (permalink)  
Antiguo 07/01/2009, 07:40
 
Fecha de Ingreso: octubre-2008
Mensajes: 67
Antigüedad: 15 años, 6 meses
Puntos: 0
no enviar formulario con tecla ENTER

hola amigos del foro

mi duda es la siguiente.

tengo un formulario y necesito que cuando el usuario presione la tecla ENTER
el formulario NO! se GUARDE si no que siga al siguiente cuadro de texto

osea que al presionar ENTER haga la funcion de la tecla TAB

espero se entienda aquí les dejo mi formulario

Código PHP:
<form action="insertar_datos.php" method="POST">
<
table width="360" height="70">
<
tr>
<
td>Nº de Orden :</td>
    <
td><input type="text" name="num_ord" ></td></tr>
<
tr><td height="37">Fecha de Atencion :</td>
    <
td><input type="text" name="fecha_ate"></td>
</
tr>
 <
tr><td>Hora de Llegada :<td><input type="text" name="hora_lleg">
    </
tr>
<
tr><td>Hora de Termino :</td
        <
td><input type="text" name="hora_ter" ></td></tr>
<
tr><td>Fecha de Entrega :</td
  <
td><input type="text" name="fecha_entreg" ></td></tr>
  <
tr><td>Lugar de Atencion :</td
  <
td><input type="text" name="lugar" ></td></tr>
        <
tr><td colspan="6">Mantenimiento
          
<input type="checkbox" name="mant" value="mantenimiento">
          
Reparacíon
          
<input type="checkbox" name="repa" value="reparacion"></td
    </
tr>

  </
table>
  <
br>
<
strong>IDENTIFICACION DE EQUIPO</strong>
<
table>
<
tr>
<
td>Fabricante :</td>
    <
td><input type="text" name="fabric"></td></tr>
<
tr>     
<
td>Modelo Maquina :</td>
    <
td><input type="text" name="model"></td></tr>
<
tr><td>Serie Maquina :</td>
<
td><input type="text" name="seri_maq"></td></tr>
<
tr><td>Funcion Maquina :</td>
<
td><input type="text" name="func_maq"></td></tr>
<
tr><td>Guia de Despacho :</td
<
td><input type="text" name="guia"></td></tr>
<
tr><td>Vantive :</td
<
td><input type="text" name="van"></td></tr>
  </
table>
<
br>
<
br>
<
strong>SERVICIO REALIZADO</strong>
<
br>
Mantenimiento Realizado
<br>
(
Sintoma/Diagnostico/Acciones)
<
br>
<
table>
<
tr>
<
td width="256">Sintoma 
<br>
<
textarea name="sintoma" rows="10" cols="40"></textarea></td>
<
td width="48">Diagnostico <br>
  <
textarea name="diagnostico" rows="10" cols="40"></textarea></td>
</
tr>
<
br>
<
br>
<
tr><td colspan="2">Aciones y Observaciones
<br>
<
textarea name="ac_ob" rows="10" cols="40"></textarea></td></tr>
</
table>
<
br>
<
br>                        
Operativa
<
br>
<
table>
    <
tr><td>SI<input type="checkbox" name="opera" value="si"></td>
    <
td>NO<input type="checkbox" name="opera" value="no"></td></tr>
  </
table>
<
br>
<
br>
<
label>
<
input type="submit" name="Submit" value="Guardar">
</
label>
<
input name="Restablecer" type="reset" value="Limpiar">
</
form
saludos
  #2 (permalink)  
Antiguo 07/01/2009, 08:52
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: no enviar formulario con tecla ENTER

Hola, no se como hacer eso pero una idea es que valides que los campos no esten vacios.
se me acaba de ocurrir que al hacer una validacion con javascript no mandes alertas si no que envies el foco al campo que este vacio, espero te ayude.
Saludos.
  #3 (permalink)  
Antiguo 07/01/2009, 10:18
 
Fecha de Ingreso: octubre-2008
Mensajes: 67
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: no enviar formulario con tecla ENTER

gracias eduar007 por responder a mi solicitud te lo agradesco

y bien ya encontre la solucion a mi problema jejee aki se los dejo para quienes
tengan la misma duda (es un java script)

saludos

Cita:
<html>
<head>
<script>
function tabular(e,obj) {
tecla=(document.all) ? e.keyCode : e.which;
if(tecla!=13) return;
frm=obj.form;
for(i=0;i<frm.elements.length;i++)
if(frm.elements[i]==obj) {
if (i==frm.elements.length-1) i=-1;
break }
frm.elements[i+1].focus();
return false;
}
</script>
</head>
<body>
<form>
<input type="text" onkeypress="return tabular(event,this)" />
<input type="text" onkeypress="return tabular(event,this)" />
</form>
</body>
</html>
  #4 (permalink)  
Antiguo 07/01/2009, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: no enviar formulario con tecla ENTER

Tema trasladado a Javascript.
  #5 (permalink)  
Antiguo 07/01/2009, 13:02
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: no enviar formulario con tecla ENTER

Qusiera aportar con otra posible solución. Es una función que hice para cancelar la tecla enter en los formularios.

Código PHP:
//Si es internet explorer debe tener el objeto ActiveXObject
navigator.IE = !( !window.ActiveXObject );


function 
cancelKeySubmitidform )
{
    
//arreglo con los campos del formulario
    
var formtarget document.getElementByIdidform ).elements;
    
    
//funcion que cancela los eventos
    
var action = function( ){
        
|| window.event;
        
e.eventKey navigator.IE e.keyCode e.which;
        return ( 
e.eventKey != 13 );
    };
    
    
//recorremos los campos y verificamos que el campo no sea un textarea    
    
for( var formtarget.length i++ )
        if( 
formtarget[i].type != "textarea" )
            
formtarget[i].onkeypress action;
    
    
//devolvemos true para no obligar al motor a que devuelva algo
    
return true;
}

window.onload = function(){
    
cancelKeySubmit"alo" );//"alo" es el ID del formulario
}; 
Saludos
  #6 (permalink)  
Antiguo 20/10/2009, 15:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: no enviar formulario con tecla ENTER

u.u
GRACIAS me ha servido muchisimo este tema.
en especial gracias a clusterbit por compartir el codigo... me sirvio muchisimo
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 03:45.