Em que momento você esta chamando essa função? na tag input poe essa função ‘onkeyup’ e chama a sua função no javaScript. Quando o user digitar a função é chamada.
Acho que isso ja resolve seu problema. Já que você só quer tirar o espaço na primeira letra digitada.
[code]
function validarPosicao(campo)
{
// se camop não for vazio e primeira caracter não for espaço
if(campo.length > 0 && campo.value.substring(0,1) == ’ ')
{
alert(‘1º CARACTER DEVE SER UMA LETRA’);
campo.value="";
campo.focus();
return false;
}
Cara não tinha testado o codigo que te mandei. Esse acabei de testar e rolou. Mas repare que isso document.getElementById("name") só vai funcionar se na sua tag input tiver id="name"
function validaEspaco(campo){
alert('this.value:' + campo);
if(campo.substring(0,1) == ' '){
alert('primeira caracter deve ser letra');
document.getElementById("name").value='';
}
}
Mas como citaram mas pra cima, quando pegar algo da net tenta entender o que esta sendo feito e adaptar para o que você precisa. Senão entender o que a sintaxe faz, manda no google que você descobre ou pergunta aqui.
[quote=bastides]Cara não tinha testado o codigo que te mandei. Esse acabei de testar e rolou. Mas repare que isso document.getElementById("name") só vai funcionar se na sua tag input tiver id="name"
function validaEspaco(campo){
alert('this.value:' + campo);
if(campo.substring(0,1) == ' '){
alert('primeira caracter deve ser letra');
document.getElementById("name").value='';
}
}
Procure pelo método trim() presente em várias linguagens de programação. Ele pega uma String e retira os espaços no início e no fim de uma cadeia de caracteres.
Algo parecido com “string.trim().length > 0” resolve o problema
Eu perguntei pra que voce quer retirar o espaco em branco, pois, da pra fazer um trim na string, quando ela for submetida, dai voce pode fazer a validacao no proprio java mano. Eu trabalho com Struts 1, e nas minhas actions eu faco validacao de espaco, isso e costume meu, pois prefiro validar isso em Java do que encher minha pagina de javascript. Bom, fica a sugestao ou ideia.
Não sou especialista no assunto, mas vou dar algumas sugestões de usabilidade, pra evitar que os usuários achem seu sistema chato:
Não use alerts para avisar de campos preenchidos incorretamente.
Destaque o campo com borda colorida, coloque uma mensagem do lado do campo, coisas assim.
Alert é uma das formas de aviso mais chatas que existem. E a maioria dos usuários clicam ok sem ler a mensagem.
Valide o formulário apenas na hora que ele confirmar a ação.
Geralmente no evento onsubmit do form ou no onclick do botão (se estiver utilizando ajax)
Procure “higienizar” o valor dos campos de forma transparente automaticamente antes de validar.
Por exemplo, se for um campo CPF, ao invés de bloquear ponto final e traço, deixe o usuário digitar como quiser.
Quando o campo perder o foco (ou no submit), você limpa todos caracteres que não são numéricos. Se o usuário copiou o campo de algum lugar fica mais simples pra ele.
Se o seu sistema roda em intranet, ele só fica parcialmente chato . Mas fazer validação apenas no servidor quando acessa pela internet é tortura.
(Se bem que usando struts 1 imagino que você queira descontar a dor que passa em alguém…rs)
A verdade é que você não precisa de tantos javascripts para validação.
Existem libs javascript por aí para validação de formulários de forma declarativa.
Na verdade sao sistemas legados, nao posso alterar muita coisa, visto que N pessoas fazem manutencao nos mesmos.
Sobre a tortura no servidor isso praticamente nao existe, pois esta num super servidor, com 65 GB ram e muitas outras caracteristicas de ponta =D, isso e informacao muito tecnica que nao sei lhe informar por completo.