George, boa noite!
Se o formulário tiver poucos campos não é tão trabalhoso alterar o código fonte…
Dá pra colocar esse script no evento onInit do formulário:
// Evento onInit da aplicação
echo "
<script type='text/javascript'>
function jumpto(campoatual, proxcampo)
{
var tamanho_max = eval('document.F1.' + campoatual + '.maxLength;');
var tamanho_atual = eval('document.F1.' + campoatual + '.value.length;');
if (tamanho_atual = tamanho_max)
{
eval('document.F1.' + proxcampo + '.focus();');
}
}
</script>";
e depois chamar a função no onkeyUp de cada campo, alterando o código fonte gerado:
<input........ onkeyUp=javascript:jumpto('nomedocampoatual','nomedoproximocampo')>
O chato é ter que refazer isso cada vez que gerar a aplicação, mas o resultado fica legal…
Se quiser testar o resultado num arquivo html:
<html>
<head></head>
<body>
<script type="text/javascript">
function jumpto(campoatual, proxcampo)
{
var tamanho_max = eval("document.F1." + campoatual + ".maxLength;");
var tamanho_atual = eval("document.F1."+ campoatual +".value.length;");
if (tamanho_atual = tamanho_max)
{
eval("document.F1."+ proxcampo +".focus();");
}
}
</script>
<form name="F1">
Campo1 (max=10): <input type=TEXT maxlength=10 name="campo1" onkeyUp="javascript:jumpto('campo1','campo2')"><br>
Campo2 (max=5): <input type=TEXT maxlength=5 name="campo2" onkeyUp=javascript:jumpto('campo2','campo3')><br>
Campo3 (max=2): <input type=TEXT maxlength=2 name="campo3" onkeyUp=javascript:jumpto('campo3','campo4')><br>
Campo4 (max=10): <input type=TEXT maxlength=10 name="campo4" onkeyUp=javascript:jumpto('campo4','campo1')><br>
</form>
</body>
</html>
Espero que isso seja útil…
Att.
Robson