Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) mensagem de resposta na frente do input


tonzinhu

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

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 =D

duvidas, poste.

GoNe

Editado por Alexandrekirpa
Link para o comentário
Compartilhar em outros sites

  • 0

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>

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

tipo o .value

quando você usa formulario, para você passar uma resposta para ele você usa o .value

para tags html como div, span, você usa o .innerHTML, quando quiser dar uma respostar, mandar valor!

Link para o comentário
Compartilhar em outros sites

  • 0

O innerHTML (ou "interior do html") é todo o conteúdo de determinado elemento da página

Como o Ted falou, é "parecido" com a propriedade "value" de alguns elementos

A 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 abertura

Nã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 !

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...