Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ellen

Validação

Recommended Posts

OLá pessoal... tenho um código, e preciso fazer a validação dos campos, criei uma função com alert para exibir a mensagem, caso a pessoa não clique em nheuma opção, mas o problema é q ela clicando ou não, a msg aparece.... alguem pode me ajudar?Vou postar meu código:

<script language="javascript" type="text/javascript">function Validate(){ if (document.form_votar.u_input.checked) return true; alert('Você deve escolher uma opção.'); return false;}</script><%'define as variáveis que serão usadas na códigodim ja_votou , u_input , cn , rs , sql , u_ip , contador , total_votos'Duas variáveis são passadas gravadas no banco de dados' -> u_input = é a resposta que o usuario escolheu para a enquete' -> u_ip = é o endereço IP do usuariou_input=request.form("u_input")'pega o endereço IP do usuario u_ip=request.servervariables("remote_addr")' Se o usuário não entrou um valor para a questão então vamos mostrar' a questão a relação de opções possíveis para respostaresponse.write "u_imput = " & u_input & "u_ip= " & u_ip & "( passo 1 ) <br>" ' Se o usuario entrou uma escolha na enquete ' verifica se o seu IP já foi registrado no BD 'Usei um provedor OLE DB para efetuar a conexão com o banco de daos enquetes.mdb 'poderia ter usado cn="driver={Microsoft Access Driver (*.mdb)};" mas não a performance do provedor OLE DB é melhor cn= "Provider=SQLOLEDB.1;Password=xx;Persist Security Info=True;User ID=x;Initial Catalog=x;Data Source=x" 'criei um recordset ADO e selecionei o número ip da tabela enquete1 que fosse igual ao ip do usuário atual set rs = server.createobject("ADODB.Recordset") sql = "select ip from votos where ip ='" & u_ip & "'"response.write "sql = " & sql & " <br>" 'executei a consulta sql rs.Open sql, cn 'se o recordset estiver vazio o usuário ainda não votou ja_votou = "Yes" if rs.eof = False then ' Se o usuario nao votou antes beleza atribuo o valor No a variável ja_votou ja_votou="yes" end if 'fecha o recordset rs.close response.write "u_imput = " & u_input & "ja_votou= " & ja_votou & "( passo 2 ) <br>" if u_input <> "" and ja_votou <> "No" then ' Se o usuario não votou então vamos gravar o voto no bd usando uma instrução SQL INSERT INTO sql = "insert into votos (ip, opcao" & u_input &",datavoto) " sql = sql & "values ('" & u_ip & "',1,getdate())" 'efetiva a gravação no banco de dados rs.Open sql, cn end if 'Vamos fazer um resumo e a estatistica dos votos por opção e calcular o total de votos sql= "select sum(opcao1) as soma_opcao1, " sql= sql & "sum(opcao2) AS soma_opcao2, sum(opcao3) AS soma_opcao3, count(*) AS total_votos " sql= sql & "FROM votos;" rs.Open sql, cn 'totaliza os votos por opção e armazena nas variáveis definidas total1=rs ("soma_opcao1") total2=rs ("soma_opcao2") total3=rs ("soma_opcao3") 'obtem o total de votos do recodset gerado contador=rs ("total_votos")response.write "total1 = " & total1 & "<br>"response.write "contador= " & contador & "<br>"%><p><br> </p> <p> </p><table width="645" height="136" border="0" align="center"><form method="post" name="form_votar" action="<%= request.servervariables("script_name") %>" onsubmit="return Validate()"> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><strong> <label> <input type="radio" value="1" name="u_input" onclick="this.checked = true" id="u_input1" /> </label> <img src="../../imagens/img_enquete/9e7bfaa248.jpg" width="188" height="154" /></strong></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total1%></font></td> <td><% If total1 = 0 Or contador = 0 Then percentual = 0 Else percentual = (total1/contador)*100 End if %> <font face="Verdana" size="2"><strong style="font-weight: 400">   <img src="../../imagens/img_enquete/vermelho.gif" height="14" width="<%= percentual %>" /> <%= formatnumber(percentual,1) %>%   </strong></font></td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#0033FF"> <input type="radio" value="2" name="u_input" onclick="this.checked = true" id="u_input2"/> <img src="../../imagens/img_enquete/946a0269c5.jpg" width="188" height="154" /> </font></strong></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total2%></font></td> <td><% If total2 = 0 Or contador = 0 Then percentual = 0 Else percentual = (total2/contador)*100 End if %> <font face="Verdana" size="2"><strong style="font-weight: 400">   <img src="../../imagens/img_enquete/azul.gif" height="14" width="<%= percentual %>" /> <%= formatnumber(percentual,1) %>%   </strong></font></td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#0033FF"> <input type="radio" value="3" name="u_input" onclick="this.checked = true" id="u_input3" /> <img src="../../imagens/img_enquete/af0f36d869.jpg" width="188" height="154" /> </font></strong></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total3%></font></td> <td><% If total3 = 0 Or contador = 0 Then percentual = 0 Else percentual = (total3/contador)*100 End if %> <font face="Verdana" size="2"><strong style="font-weight: 400">  <img src="../../imagens/img_enquete/laranja.gif" height="14" width="<%= percentual %>" /> <%= formatnumber(percentual,1) %>%  </strong></font></td> </tr> <tr> <td colspan="3"> <div align="center"> <input type="submit" value="Votar" > </div></td> </tr> </form></table><p><table width="275" border="1" align="center" bordercolor="#FF0000"> <tr> <td width="265"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">Total dos Votos : </font></strong><%= formatnumber(contador,0,0) %> </font></div></td> </tr></table><p> </p><p> </p><p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <% if ja_votou <> "No" then %> ('Obrigado por participar !!') <% else %></font></p> <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">('Obrigado por participar !!') <% end if %></font></p>

Agradeço se puderem me ajudar!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Vagner quis dizer que você pode usar o value do checkbox para saber qula foi acionado ou não, agora você não quer que a gente faça isso para você, não é? pois estamos aqui para lhe ajudar e não para fazer seu trabalho, comece a fazer e a gente vai te ajudando, ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Tiago... me código está assim.... mas continua dando erro.... será q estou fazendo alguma coisa errada...Pois sempre aparece a mensagem "Obrigada pelo seu voto" a pessoa escolhendo ou não.

<script language="javascript" type="text/javascript">function test1(form) { if (form.u_input.value == "") alert("Favor selecionar uma opção") else { alert("Obrigado pelo seu voto!"); }}</script><table width="645" height="136" border="0" align="center"><form method="post" name="form_votar" action="<%= request.servervariables("script_name") %>" > <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><strong> <label> <input type="radio" value="1" name="u_input" id="u_input1" /> </label> <img src="../../imagens/img_enquete/9e7bfaa248.jpg" width="188" height="154" /></strong></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total1%></font></td> <td><% If total1 = 0 Or contador = 0 Then percentual = 0 Else percentual = (total1/contador)*100 End if %> <font face="Verdana" size="2"><strong style="font-weight: 400">   <img src="../../imagens/img_enquete/vermelho.gif" height="14" width="<%= percentual %>" /> <%= formatnumber(percentual,1) %>%   </strong></font></td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#0033FF"> <input type="radio" value="2" name="u_input" id="u_input2"/> <img src="../../imagens/img_enquete/946a0269c5.jpg" width="188" height="154" /> </font></strong></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total2%></font></td> <td><% If total2 = 0 Or contador = 0 Then percentual = 0 Else percentual = (total2/contador)*100 End if %> <font face="Verdana" size="2"><strong style="font-weight: 400">   <img src="../../imagens/img_enquete/azul.gif" height="14" width="<%= percentual %>" /> <%= formatnumber(percentual,1) %>%   </strong></font></td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#0033FF"> <input type="radio" value="3" name="u_input" id="u_input3" /> <img src="../../imagens/img_enquete/af0f36d869.jpg" width="188" height="154" /> </font></strong></font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total3%></font></td> <td><% If total3 = 0 Or contador = 0 Then percentual = 0 Else percentual = (total3/contador)*100 End if %> <font face="Verdana" size="2"><strong style="font-weight: 400">  <img src="../../imagens/img_enquete/laranja.gif" height="14" width="<%= percentual %>" /> <%= formatnumber(percentual,1) %>%  </strong></font></td> </tr> <tr> <td colspan="3"> <div align="center"> <input type="submit" value="Votar" onClick="test1(this.form)"> </div></td> </tr> </form></table><p><table width="275" border="1" align="center" bordercolor="#FF0000"> <tr> <td width="265"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">Total dos Votos : </font></strong><%= formatnumber(contador,0,0) %> </font></div></td> </tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Ellen, desculpae eu viajei... o VALUE do elemento é utilizado quando você submete o formulário... no seu caso usa a função assim:

 

<script language="javascript" type="text/javascript">function test1() {	var radio   = document.getElementsByName('u_input');	var msg	 = 'Favor selecionar uma opção';		for(var i=0; i<radio.length;i++)		if (radio[i].checked) msg = 'Obrigado pelo seu voto!';			alert(msg);}</script>

Qq dúvida mandae... OK..!!?? T+..

 

PS: Não precisa passar o FORM como parâmetro!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vagner.. é normal qdo clica no botão a página ficar em branco até carregar as informações novamente?Tipo, some tudo.... dá uma paradinha até carregar novamente a página.Deu pra entender???Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wagner..Consegui resolver o problema de carregar em branco...Coloquei a enquete em um iframe... daí beleza...Obrigado a todos que me ajudaram...Valeu Pessoal!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.