02/11/2014, 07:55
|
| Colaborador | | Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses Puntos: 1012 | |
Respuesta: Acción del botón "submit" por defecto no sólo puede cancelar el evento, sino que también puedes hacer que haya tabulación Cita: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var fnc = (function() {
function Evento(elemento, nomevento, fnc) {
if (elemento.addEventListener) {
elemento.addEventListener(nomevento, fnc, false);
} else if (elemento.attachEvent) {
var foo = function() {fnc.call(elemento, window.event);}
elemento.attachEvent('on' + nomevento, foo);
elemento[fnc.toString() + nomevento] = foo;
}
}
function asig() {
var controles = document.querySelectorAll("form input");
for (var i = 0; i < controles.length; i++)
Evento(controles[i], 'keypress', function(event){tab(event, this)});
}
function tab(evt, control) {
var keyCode = evt.keyCode || evt.charCode;
if (keyCode != 13) return;
frm = control.form;
for (var i = 0; i < frm.elements.length; i++)
if (frm.elements[i] == control) {
if (i == frm.elements.length-1) i =-1;
break
}
frm.elements[i+1].focus();
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.returnValue = false;
}
}
Evento(window, 'load', asig);
})();
</script>
</head>
<body>
<form>
<input type="text" /><br />
<input type="text" value="2" /><br />
<input type="text" /><br />
<input type="text" /><br />
<input type="radio" />
</form>
</body>
</html> |