tonzinhu Postado Janeiro 29, 2009 Denunciar Share Postado Janeiro 29, 2009 beleza gente,Queria saber como faço pra tipo quando alguém não preencher um campo mostrar a mensagem na frente do input e não atraves de alert.Vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alexandrekirpa Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 (editado) tem algum script pronto?se não dá uma olhada:<body> <script type="text/javascript"> function validar(){ campos=validar.arguments; erro_msg="Campo vazio. Preencha-o, por favor";r=true; for(e=0;e<campos.length;e++){document.getElementById('erro_'+campos[e]).innerHTML='';} for(i=0;i<campos.length;i++){ a=campos[i];d=document.getElementById(a); if(d.value=="" || d.value==null){ document.getElementById('erro_'+a).innerHTML=erro_msg;return false;break; }}} </script> <form onsubmit="return validar('nome','email','idade')" action="?"> Nome: <input type="text" id="nome"><span id="erro_nome"></span><br> Email: <input type="text" id="email"><span id="erro_email"></span><br> Idade: <input type="text" id="idade"><span id="erro_idade"></span><br> <input type="submit"> </form> </body> Explicação: Primeiro, coloque o seguinte script na página: <script type="text/javascript"> function validar(){ campos=validar.arguments; erro_msg="Campo vazio. Preencha-o, por favor";r=true; for(e=0;e<campos.length;e++){document.getElementById('erro_'+campos[e]).innerHTML='';} for(i=0;i<campos.length;i++){ a=campos[i];d=document.getElementById(a); if(d.value=="" || d.value==null){ document.getElementById('erro_'+a).innerHTML=erro_msg;return false;break; }}} </script> Depois é só colocar um objeto span (sem nada dentro) na frente do input com o mesmo nome deste, porem com o prefixo erro_ (exemplo: o id do input é email, então o id do span será erro_email) e adicionar o seguinte atributo onsubmit no form: return validar('id do campo 1','id do campo 2');(obs: na função validar, coloque como parametros os id's dos inputs)UP: use CSS para por o aviso em vermelho, e para mudar a letra e etc... chama mais atenção =Dduvidas, poste.GoNe Editado Janeiro 30, 2009 por Alexandrekirpa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ted k' Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 esse também!!Simples!<script language="javascript"> function validar() { var form = document.Formu; if (form.nome.value == "") { document.getElementById("msg_nome").innerHTML = "* O nome deve ser Preenchido"; form.nome.focus(); return false; } return true; } </script> <form method="post" name="Formu" action="#" onSubmit="return validar();"> Nome: <input type="text" name="nome" /> <span id="msg_nome"></span> <br><br> <input type="submit"> </form> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Janeiro 30, 2009 Autor Denunciar Share Postado Janeiro 30, 2009 hum, entendi, eu fiz usando um pouco de css no js.style.display = 'block' e no span usei <p style="display:none"> , deu certinho, tentei usar span mas estava dando uns erros de posicionamento e tals ai não mexi muito.mas vlw mesmo, ajudou bastante.E só outra coisa, como funciona o uso do innerHTML? Ps: sou novato em js hehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ted k' Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 tipo o .valuequando você usa formulario, para você passar uma resposta para ele você usa o .valuepara tags html como div, span, você usa o .innerHTML, quando quiser dar uma respostar, mandar valor! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 O innerHTML (ou "interior do html") é todo o conteúdo de determinado elemento da páginaComo o Ted falou, é "parecido" com a propriedade "value" de alguns elementosA diferença é que o innerHTML é tudo o que está entre a tag de abertura e a tag de fechamento, enquanto o "value" é uma propriedade que têm seu valor atribuído dentro da tag de aberturaNão sei se consegui explicar corretamente...Por exemplo, observe uma div onde o innerHTML é "teste"<div>Teste</div> Agora observe um campo de texto onde sua propriedade value é "teste" <input type="text" value="teste">Qualquer dúvida posta aí !Obs.:Vou marcar o tópico como resolvido ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Janeiro 30, 2009 Autor Denunciar Share Postado Janeiro 30, 2009 sinceramente, muito bem explicado, entendi agora.vlw ai galera. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tonzinhu
beleza gente,
Queria saber como faço pra tipo quando alguém não preencher um campo mostrar a mensagem na frente do input e não atraves de alert.
Vlw
Link para o comentário
Compartilhar em outros sites
6 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.