Validar checkbox
Boa Tarde,
Estou tentando fazer com o que um formulário ao ser enviado verifique se o check box esta selecionado, se não ele emite um alert pedindo para selecionar pelo menos uma categoria. O campo do check box busca categorias do banco de dados. O problema é que ao enviar o post ele da a mensagem, ai selecionamos ao menos 1 categoria, e quando tentamos denovo ele dá a mesma mensagem. Enquanto não selecionamos todos ele não para de dar a mensagem.
Utilizei o script abaixo no meu formulario:
<script>
function validar(formulario){
if("['id_categoria']:checked") {
alert("Selecione uma categoria para prosseguir");
return false;
}
if(formulario.estado.value == '0'){
alert("O campo ESTADO é obrigatório.");
return false;
}
if(formulario.cidade.value == '0'){
alert("O campo CIDADE é obrigatório.");
return false;
}
return true;
}
</script>
Meu Form está assim:
<form id="formulario" action="dados_anuncio.asp?opc=inserir&id=<%=Request.QueryString("id")%>&idPlano=<%=Request.QueryString("idPlano")%>" method="post" name="form1" onSubmit="return validar(this);">
<select name="id_plano" class="list_of_vochers" id="id_plano" >
<option value="1">Plano Ouro GRÁTIS</option>
</select>
Selecione até 5 categorias:
<input name="idDoCliente" type="hidden" id="idDoCliente" value="<%=id%>">
<input name="idDoTipo" type="hidden" id="idDoTipo" value="<%=idTipo%>">
<%planoId_1 = Request.QueryString("idPlano")%>
<%Set csTipo = Server.CreateObject("ADODB.Recordset")
csTipo.Open "SELECT * FROM categorias_profissionais where id_tipo = "&planoId_1&" order by nome asc", Conexao%>
<ul class="checklist" id="convenios2">
<% While NOT csTipo.EoF %><li>
<label for="id_categoria"><input id="id_categoria" name="id_categoria" type="checkbox" value="<% = csTipo("id") %>" onclick="verificar()"/> <% = csTipo("nome") %></label>
</li><% csTipo.MoveNext %>
<% Wend %>
<li class="par">
</ul>
<br>
Caso não encontre sua categoria, digite-a no campo abaixo:
<input name="outro" type="text" id="outro" placeholder="Caso não tenha sua categoria acima digite aqui." />
<select name="estado" class="list_of_vochers" id="estado" onChange="combo('#estado','#cidade','combo_subcategorias.asp')">
<option value="0" selected>Selecione o Estado</option>
<%
While (not csEstado.EOF)
%>
<option value="<%=(csEstado.Fields.Item("id").Value)%>"><%=(csEstado.Fields.Item("uf").Value)%> - <%=(csEstado.Fields.Item("nome").Value)%></option>
<%
csEstado.MoveNext()
Wend
%>
</select>
<select name="cidade" class="list_of_vochers" id="cidade" >
<option value="0">Selecione sua Cidade</option>
</select>
Descrição do Anúncio
<% planoId = Request.QueryString("idPlano")
if planoId = 1 then%>
<textarea name="descricao" id="descricao" type="text" placeholder="Exemplo Profissional: Sou profissional especializado em acabamentos em porcelanato com experiência de 10 anos atuando em obras residenciais e comerciais. Tenho um ótimo custo benefício, qualidade e compromisso com prazos."></textarea>
<%else%>
<textarea name="descricao" id="descricao" type="text" placeholder="Exemplo Fornecedor: Somos uma loja de materiais de construção e estamos a mais de 15 anos no mercado fornecendo diversas linhas de materiais e produtos para todos os tipos de obras. Nossos preços são competitivos e nossos produtos são de qualidade."></textarea>
<%end if%>
<div id="outline">
<p>
<iframe width='100%' height='340px' frameborder='0' src='upload1.asp?idCliente=<%=Request.QueryString("id")%>' scrolling="no"></iframe>
</a></p>
</div>
<%if planoId = 2 then%> <h6>DADOS DE LOCALIZAÇÃO DO FORNECEDOR</h6><br>
<input name="logradouro" type="text" class="form-control" id="logradouro" placeholder="Logradouro, número" />
<input name="bairro" type="text" class="form-control" id="bairro" placeholder="Bairro" />
<input name="cep" type="text" class="form-control" id="cep" placeholder="Cep" onKeyPress="return txtBoxFormat(this, '99.999-999', event);" maxlength="10"/>
<%end if%><br>
<button type="submit" class="btn btn-primary btn-sm">Finalizar Cadastro</button>
</form>Discussão (0)
Carregando comentários...