asclows Postado Novembro 20, 2006 Denunciar Share Postado Novembro 20, 2006 Estou fazendo a validação de formulário, no entanto preciso evitar que o usuário saia do campo enquanto o conteúdo do mesmo não for válido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Novembro 20, 2006 Denunciar Share Postado Novembro 20, 2006 Baiscamente voce vai jogar a funçao no evento ONBLUR()De uma olhada na area de scripts dessa secao que tem varios exemplos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 asclows Postado Novembro 21, 2006 Autor Denunciar Share Postado Novembro 21, 2006 Baiscamente voce vai jogar a funçao no evento ONBLUR()De uma olhada na area de scripts dessa secao que tem varios exemplosAndreia, eu já fiz vários testes com onBlur e onChange porém sem sucesso.Sobre procurar na sessão de scripts, o farei com certeza, mas poderia me indicar um que você já sabe que tem este tipo de bloqueio. Porque a maioria dos scripts de validação pelo que tenho visto aqui ou me exibe um alert() ao sair do campo ou na submissão do formulário, ainda não encontrei um que impedisse a saída do campo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Novembro 21, 2006 Denunciar Share Postado Novembro 21, 2006 Junto com o evento, coloque o foco novamente no campo obrigatorio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 asclows Postado Novembro 22, 2006 Autor Denunciar Share Postado Novembro 22, 2006 (editado) Andreia teste você mesma este código abaixo que criei afim de testar... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> <script language="javascript"> function valida(field) { alert("Impedir saída!"); field.focus(); } </script> </head> <body> <form action="" method="get" name="formulario"> onBlur <input name="fieldTest" type="text" onBlur="valida(this)" /> onChange <input name="fieldTest2" type="text" onChange="valida(this)" /> </form> </body> </html> No onBlur ele não funciona, mas para onChange funciona sim! Agora teria alguma maneira de bloquear o usuário mesmo que ele não altere nada no campo? Editado Novembro 23, 2006 por asclows Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Novembro 22, 2006 Denunciar Share Postado Novembro 22, 2006 Aqui funciona no onblur, no onchange que não volta o focus porque voce deu o mesmo nome nos dois texts, então ele pega o primeira (onde tem o onblur) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 asclows Postado Novembro 23, 2006 Autor Denunciar Share Postado Novembro 23, 2006 andreia, desculpe por duplicar o name dos inputs (errei na edição do post) já consertei, mas estive fazendo uns testes e é o seguinte...No IEca funciona sim o onBlur, no Mozilla Firefox o evento onBlur não tem o resultado esperado o campo.focus() não consegue focar o campo desejado.Então fica a minha pergunta, tem uma maneira cross-browser de fazer isso? O onBlur seria muito mais interessante em alguns casos do onChange! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 23, 2006 Denunciar Share Postado Novembro 23, 2006 Aqui o evento onbur e a função focus() funcionaram perfeitamente no IE, no FireFox e no Opera.O código que usei foi este:<form method="post" action="" name="form1" id="form1"> <input type="text" name="x" onblur="alert('CUIDADO!');this.focus()" /> </form> O alert é exibido e, em seguida, o campo recebe o foco.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 asclows Postado Novembro 23, 2006 Autor Denunciar Share Postado Novembro 23, 2006 Beraldo, mas não houve validação! Tenta chamar uma função que valida o campo e depois em caso de falha tenta dar o foco pro campo novamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 23, 2006 Denunciar Share Postado Novembro 23, 2006 Beraldo, mas não houve validação! Tenta chamar uma função que valida o campo e depois em caso de falha tenta dar o foco pro campo novamente.O alert() é uma função como outra qualquer que você possa criar. A únnica diferença é que o alert() é nativo do JS. Se funcionar com alert(), confirm(), etc, funcionará com uma função criada por você, desde que ela não contenha erro(s), é claro. :PTestei com uma função de validação e deu certo da mesma forma:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" language="javascript"> function Validar(x){ if (x.value.search(/^[0-9]+$/)){ alert ("ERRO!"); x.focus(); return false; }else{ alert ("OK!"); return true; } } </script> <title>Teste</title> </head> <body> <form method="post" action="" name="form1" id="form1"> <input type="text" name="texto" onblur="return Validar(this)" /> </form> </body> </html> []'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 asclows Postado Novembro 23, 2006 Autor Denunciar Share Postado Novembro 23, 2006 Beraldo, testei seu código e comprovei que realmente funciona no IE, Opera, mas no Firefox 2.0 não tá!Tipo, exibe o alert com a mensagem 'ERRO!' mas não retorna o foco pro campo! Sinceramente não sei o que acontece! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 23, 2006 Denunciar Share Postado Novembro 23, 2006 Puxa vida... já saiu o FF 2? Eu não havia visto.... Estou no 1.5 ainda...Sinceramente, não sei o que pode ser. Já tentou colocar os dois eventos? Vou baixar o FF 2 e fazer uns testes. Se eu obtiver sucesso, postarei aqui o código.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
asclows
Estou fazendo a validação de formulário, no entanto preciso evitar que o usuário saia do campo enquanto o conteúdo do mesmo não for válido!
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.