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

(Resolvido)validação de campo


ju_rezende

Pergunta

Olá pessoal , mais uma vez estou precisando da ajuda de vocês

tenho que fazer uma validação de um campo checkbox, que funciona assim caso check marcado então alert precisa subir imagem , se o campo não estiver marcado significa que não vai subir a foto,

O Rafael menbro daqui tava me ajudando mas precisou ir para uma reunião

Vou postar o meu aqui, mas ele não mostra o alert e vai para a próxima página

<script>

function valida_campo()

if(chcFoto)

{

var foto = document.cadastro.foto;

var chcFoto=document.form.chcFoto.checked;

if (foto.value==""){

alert("Selecione uma imagem");

foto.focus()

return false

}

}

</script>

Desde já grata a todos

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Para saber se um checkbox está selecionado use:

if(document.nomedoformulario.nomedocheckbox.checked){ 
     alert("O Box está selecionado"); 
} else { 
     alert("O Box não está selecionado"); 
}

Espero que seja esta a solução para dúvida. Boa sorte!

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

  • 0

Fiz este exemplo mais completo para ver como toda estrutura básica funciona.

<html>
<head>

&lt;script type="text/javascript">

function verificabox(){
    if(document.frm.box.checked){ 
         alert("O Box está selecionado"); 
    } else { 
         alert("O Box não está selecionado"); 
    }
}

</script>

</head>
<body>

<form name="frm">

<input type="checkbox" name="box"><br><br>
<input type="button" value="Verificar" onclick="verificabox()">

</form>

</body>
</html>
Observe que o nome do formulário é "frm" e está declarado lá na função verificabox() onde "if(document.frm..." O nome do checkbox é "box" e está declarado lá na função onde "if(document.frm.box..". Você implementará no seu código a regra de como a estrutura acima funciona. Pelo que parece, você inseriu no seu código uma condição para verificar se o elemento existe, então para saber se o ckecbox do código acima existe, utilize:
if(document.frm.box) { alert("O Box existe"); }

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo, primeiramente gostaria de agradecer a atenção, segundo o codigo que me mandou, eu testei o mesmo ele dá as mensagens, porém não barra, deixa ir para próxima página, se o box está selecionado significa que o usuário precisa escolher a imagem, ´porém, ele da os alerts de box selecionado e pede para inserir imagem, mas quando dá o alert e o usuário clica no ok, ele permite ir para a próxima página, e não poderia permitir.

Se puder me ajudar com isso fico muito grata

Grande abraço

function verificabox(){

if(document.cadastro.chcFoto.checked){

alert("O Box está selecionado");

var foto = document.cadastro.foto;

if (foto.value==""){

alert("Selecione uma imagem");

foto.focus()

return false;

}

} else {

alert("O Box não está selecionado");

}

return true;

}

Link para o comentário
Compartilhar em outros sites

  • 0
<script>

function valida_campo()

if(chcFoto)

{

var foto = document.cadastro.foto;

var chcFoto=document.form.chcFoto.checked;

if (foto.value==""){

alert("Selecione uma imagem");

foto.focus()

return false

}

}

</script>

Eu só estou vendo o primeiro tópico, para facilitar a resolução.

No código acima, o chcFoto não tá definido antes do if. O if testa uma condição que é sempre false.

O correto seria:

function valida_campo(){
    var chcFoto=document.form.chcFoto.checked
    var foto = document.cadastro.foto

        if(chcFoto){
            if (foto.value==""){
                alert("Selecione uma imagem");
                foto.focus()
                return false
            }
        return true
        }
}

Aquele abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

pessoal eu acho que descobri o erro porém não sei como solucionar.

Seguinte, nesta página tem um editor de textohtml, é tem um javascript, acho que o problema pe por causa dele, porque, em todas as páginas que tenho o mesmo editor, ocorre o mesmo problema com as validações e se eu tirar o editor ele finciona normalmente.

vou por o link da onde u fiz dowload dele, e vou postar meu codigo para você

javascript

]<script LANGUAGE="JavaScript">

function Pick_Text(f) {

f.elements.texto.value = document.all.editor.html + "";

}

</SCRIPT>

<script LANGUAGE="JavaScript">

function Preencher() {

document.all.editor.html = <%= chr(34) & texto & chr(34) %>;

}

</SCRIPT> scipt do editor html

<script>

function verificabox(){

if(document.cadastro.chcFoto.checked){

//alert("O Box está selecionado");

var foto = document.cadastro.foto;

if (foto.value==""){

alert("Selecione uma imagem");

foto.focus()

}

return false;

}

}

na tag body preciso colocar

<body onLoad="Preencher();" leftmargin="20" topmargin="20">
e depois no form onsubimit fica assim

<form name="cadastro" action="ConfirmaAlteraNoticia.asp" method="post" enctype="multipart/form-data" onSubmit="Pick_Text(this);verificabox();">

Link para o comentário
Compartilhar em outros sites

  • 0

É..agora danou-se.

Se retirar o codigo do editor o que acontece?

Agora vai ficar muito, mas muito mais difícil ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

Dai ju_rezande, beleza? Kakarotto, tranquilo?

Antes de mais nada deixem explicar o motivo da minha participação aqui:

Seguinte, tenho feito um intensivo aqui nos meus estudos procurando aprender JS, confesso (e não sei porque) é a linguagem que eu tenho maior dificuldade em aprender... volta e meia me perco e não saio do nó... mas em inúmeras vezes (pra não dizer a imensa maioria) acontece exatamente isso que a jú ta passando, ou seja, incluo uma nova função e uma função antiga para de funcionar...

Essa função que a ju tá tentando colocar chcFoto, é uma função inclusive que eu passei pra ele por MSN e que por sua vez aprendi com a super ninja andreia_sp.

Não entendi porque, kakarotto, nesse caso específico, a função JS do editor possa inviabilizar o funcionamento de outra função... porque em princípio esta nova função está funcionando junto com o editor, apenas falta fazer funcionar uma última parte... e pergunto se o amigo poderia me ensinar o porque? será por causa disto: enctype="multipart/form-data"? Ou realmente existem algumas funções que por algum tipo de conflito não "deixam outras funcionarem"?

Entendo que esse encode só deveria ser problema na página seguinte não? Na página em que ele está, outras funções deveriam poder trabalhar em paralelo e mesmo depois na página seguinte, bastaria resgatar as variáveis assim:

variavel = UploadRequest.Item("campo").Item("Value")

Bom, mas enfim, jú, quem sou eu pra dar algum palpite, mas sei que no desespero todo e qualquer palpite é bom...

Quando eu to num entrave assim eu faço duas coisas:

1) Volto pro básico... pro bêaba mesmo... pego e separo todas as funções em tags <script> únicas e vou testando uma a uma... depois veja a que não funciona e trabalho só nela... veja, todas suas funções estão funcionando... apenas uma está com o problema, centraliza nela, tenta esquecer as outras... pesquise no google e no fórum... e etc... faça isso e vê o que ocorre...

2) Caso a opção 1 não dê certo, eu posto aqui no fórum como você fêz e rezo pra andreia-sp e/ou o kakarotto me ajudarem... e por sinal, acho que o kakarotto vai concordar comigo... não sei porque dão tanto destaque ao graymalkin, pra mim o chuck norris da SB é a andreia_sp e tenho dito!

mas voltando ao problema que é na função do chcFoto...

pelo que eu entendi a única coisa que você precisa é que se o chcFoto estiver marcado e o campo foto não preenchido não vá para a próxima página, certo?

então quando você coloca essa função que o Kakarotto recomendou e separando uma a uma o que acontece?

function valida_campo(){

var chcFoto=document.form.chcFoto.checked

var foto = document.cadastro.foto

if(chcFoto){

if (foto.value==""){

alert("Selecione uma imagem");

foto.focus()

return false

}

return true

}

}

o que acontece? ele dá o alerta? ele nem dá o alerta? vai pra próxima página? tranca? o que ocorre?

EDITANDO: detalhe importante... esse campo foto, não é um textfield e sim um file!

[]'s Notax

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

  • 0

Hum.....

<form name="cadastro" action="ConfirmaAlteraNoticia.asp" method="post" enctype="multipart/form-data" onSubmit="Pick_Text(this);verificabox();">
Tenta :
<form name="cadastro" action="ConfirmaAlteraNoticia.asp" method="post" enctype="multipart/form-data" onSubmit="Pick_Text(this);return verificabox();">

Link para o comentário
Compartilhar em outros sites

  • 0

Jú, faz o seguinte então... eu acho que o kakaratto matou a charada... mas acho tb, pelo que eu entendi, que a função em si, que deveria checar se o campo está ou não preenchido não está funcionando, certo? Então vamos por partes: poste apenas a função que deve checar o campo foto, e também o diagnóstico do que está acontecendo, ok?

[]'s Notax

Link para o comentário
Compartilhar em outros sites

  • 0

desde grata pela atenção

function verificabox(){

var chcFoto=document.cadastro.chcFoto.checked;

if(chcFoto)

{

var foto=document.cadastro.foto;

if (!marcado)

{

alert("Selecione uma Foto!")

return false;

}

}

}

eu estou adicionado esta função para verificar se o check box está funcionando porém ele não está dando mensagem caso o chekbox esteja selecionado

ops coloquei errado o que eu tava testando

o correto é esse

function verificabox() {

var chcFoto=document.form.chcFoto.checked

var foto = document.cadastro.foto

if(chcFoto){

if (foto.value==""){

alert("Selecione uma imagem");

foto.focus()

return false

}

return true

}

}

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...