Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 10:29

Tenho os seguintes botões de rádio:

 <input type=radio name=campo value=\"y\">     sim &nbsp;&nbsp;&nbsp;     <input type=radio name=campo value=\"n\" checked>     n&atilde;o

Ocorre que, se escolhida a opção "sim", ela é desmarcada quando há erro na validação do formulário, validação que é feita em PHP, e não javascript. Em campos de seleção, consegui resolver isso colocando um option com $_Post na forma selected. Como poderia fazer isso com botão de rádio? Grato.
0
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 11:45

Estou postando porque consegui resolver. Fiz com if, elseif, else:

$Cadastrar .= "<tr class=\"even\" id=\"clickmarked_2\">       <td width=\"100%\" height=\"30\" align=\"left\" valign=\"middle\">&nbsp;&#8226;&nbsp;Cadastrar logotipo?&nbsp;";         if($_POST[LogotipoRevenda] == '')      {      $Cadastrar .= "<input class=\"BackgroundRadioButtonTransparent\" type=radio name=LogotipoRevenda value=\"sim\">     sim &nbsp;&nbsp;&nbsp;     <input class=\"BackgroundRadioButtonTransparent\" type=radio name=LogotipoRevenda value=\"não\" checked>     n&atilde;o";      } elseif($_POST[LogotipoRevenda] == 'sim')      {      $Cadastrar .= "     <input class=\"BackgroundRadioButtonTransparent\" type=radio name=LogotipoRevenda value=\"$_POST[LogotipoRevenda]\" checked>     $_POST[LogotipoRevenda] &nbsp;&nbsp;&nbsp;     <input class=\"BackgroundRadioButtonTransparent\" type=radio name=LogotipoRevenda value=\"não\">     não     ";      } else {     if($_POST[LogotipoRevenda] == 'não')      {      $Cadastrar .= "         <input class=\"BackgroundRadioButtonTransparent\" type=radio name=LogotipoRevenda value=\"sim\">     sim&nbsp;&nbsp;&nbsp;     <input class=\"BackgroundRadioButtonTransparent\" type=radio name=LogotipoRevenda value=\"$_POST[LogotipoRevenda]\" checked>     $_POST[LogotipoRevenda]      ";      }      } $Cadastrar .= "</td>     </tr>";

Está havendo apenas um problema, que já ocorria no código informado no início do post: não sei se há conflito com o código de cores do formulário, mas para marcar a opção "sim" tenho de clicar na linha, e não no botão. Porém, se está setada (está correto o que estou falando?) a opção "sim", para marcar a opção "não" tenho de clicar no botão, e não na linha. Se houver uma outra forma de fazer isso, com, por exemplo, javascript, peço que me informe. Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 13:13

Com radio é complicado, se fosse checkbox poderia usar o label, um click marca, outro desmarca, ex:

<input type="radio" id="check"> <label for="check">marca</label>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 13:53

Mas deu certo. Eu conferi, e o problema é com o javascript e css do código de cores do formulário (o do phpmyadmin que você me indicou). Fora a questão das cores, o funcionamento está ok. Desabilitei o css das cores, clico num e noutro botão e funciona direitinho. Vou ver se consigo resolver a questão das cores. Obrigado.
0
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 14:27

Sobre o que você falou sobre o checkbox: um clique marca, outro desmarca. Tranferindo essa situação de cliques para mudar a cor de fundo, seja do que for (página, tabela, linha ou célula), ou seja, clica uma vez, aparece a cor laranja, clica outra vez, desaparece a cor laranja, você tem sugestão de algum código? Achei um código que muda a cor de fundo da página, com css e javascript . Por exemplo: a página abre com a cor azul, você clica num link, a cor da página muda para preto, mas depois não tem onde clicar para ela novamente assumir a cor azul. Não posto agora para não entupir o post. Mas se puder, posto. Mexi no if - else do javascript, mas não deu certo. Também estou pesquisando sobre onclick com dois eventos, tipo onclick1 e onclick 2.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 16:34

Se for só a questão do click é simples, mas, sem a questão do hover.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 16:42

Passa, então. Vou tentar deixar o hover na tr e o onclick na td. Estou tentando adaptar este código:

<html> <head> <title>Documento sem t&iacute;tulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language=javascript> var cor_over = "#00ffff"; var cor_out = "#bbbbbb"; var objAnt = new Object();   function cor(parte) {   parte.style.background = cor_out;   if (objAnt[0])     objAnt[0].style.background = cor_over;   objAnt[0] = parte; } </script> </head>   <body> <TABLE> <TR><TD ONCLICK="cor(this)" style="cursor: hand; background:#00ffff">menu 1</TD></TR> <TR><TD ONCLICK="cor(this)" style="cursor: hand; background:#00ffff">menu 2</TD></TR> <TR><TD ONCLICK="cor(this)" style="cursor: hand; background:#00ffff">menu 3</TD></TR> <TR><TD ONCLICK="cor(this)" style="cursor: hand; background:#00ffff">menu 4</TD></TR> <TR><TD ONCLICK="cor(this)" style="cursor: hand; background:#00ffff">menu 5</TD></TR> </TABLE> </body> </html>

Mas passa o que você tem.
0
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 17:04

Não estou conseguindo adaptar esse código que postei, pois o formulário é zebrado. Vou aguardar o seu código.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 17:16

Segue o exemplo

<script> function muda(objeto) { var alvo = document.getElementById(objeto); if(alvo.style.backgroundColor=="#cccccc") { alvo.style.backgroundColor="#999999"; } else { alvo.style.backgroundColor="#cccccc"; } } </script>


<div style="background-color:#cccccc;" id="a1" onclick="muda(this.id)">@</div> <div style="background-color:#cccccc;" id="a2" onclick="muda(this.id)">@</div>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 17:31

Obrigado. Está funcionando no IE, mas no Firefox, não. Inseri o doctype, como sua sugestão em script anterior, mas ainda não funcionou. Veja:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Documento sem t&iacute;tulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script> function muda(objeto) { var alvo = document.getElementById(objeto); if(alvo.style.backgroundColor=="#cccccc") { alvo.style.backgroundColor="#999999"; } else { alvo.style.backgroundColor="#cccccc"; } } </script> </head>   <body> <div style="background-color:#cccccc;" id="a1" onclick="muda(this.id)">@</div> <div style="background-color:#cccccc;" id="a2" onclick="muda(this.id)">@</div> </body> </html>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 17:49

Então usa className

<style> .class1{background-color:#cccccc;} .class2{background-color:#999999;} </style> <script> function muda(objeto) { var alvo = document.getElementById(objeto); if(alvo.className=="class1") { alvo.className="class2"; } else { alvo.className="class1"; } } </script> <div class="class1" id="a1" onclick="muda(this.id)">linha1</div> <div class="class1" id="a2" onclick="muda(this.id)">linha2</div>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 18:41

Esse deu. Mas o formulário é zebrado. Vou tentar adaptar para duas cores, ou seja, uma linha de uma cor e outra linha de outra; ou uma célula de uma cor, e outra célula de outra cor (na linha, vou tentar trabalhar com o hover). Se não conseguir, faço novo post. Muito obrigado pela força.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 19:13

ok
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 21:50

Alterei o código para trabalhar com linhas de cores diferentes:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>trocar cor de linha</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> .class1{background-color:#cccccc;} .class2{background-color:#999999;} .class3{background-color:red;} .class4{background-color:blue;} </style> <script> function muda(objeto) { var alvo = document.getElementById(objeto); if(alvo.className=="class1") { alvo.className="class2"; } else { alvo.className="class1"; } }   function muda2(objeto) { var alvo = document.getElementById(objeto); if(alvo.className=="class3") { alvo.className="class4"; } else { alvo.className="class3"; } } </script> </head> <body> <div class="class1" id="a1" onclick="muda(this.id)">linha1</div> <div class="class3" id="a2" onclick="muda2(this.id)">linha2</div> </body> </html>

Vou ver como é o comportamento no código que estou desenvolvendo. Um abraço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 21:53

Boa
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

11-05-2009 22:03

Cara, redondinho. Coloquei no meu form, e transferi o que está na div de seu código para a td de meu código, e deu certo. Agora, vou buscar o hover para colocar na tr. E o botão de rádio também está funcionando direitinho.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

11-05-2009 22:06

Legal :) boa sorte :wink
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 500 postagens
Mais de 500 postagens
Tópico Autor
Mensagens: 930
Sexo: Masculino
Localização: Ourinhos, SP

não desmarcar botão de rádio na validação

12-05-2009 11:12

É o seguinte: o script do phpmyadmin que você me passou faz o que quero, ou seja, as cores mudam quando se passa o mouse pelas linhas, e quando se clica na linha, surge uma outra cor que fica fixa até um novo clique na mesma linha. O problema é que houve conflito com os botões de rádio. O último código que você me passou funciona redondinho, mas, como você mesmo disse, não tem o evento hover. Tentei mesclar, mas não deu muito certo. Seguem as tentativas. Vou deixar um pouco a cor fixa com um clique de lado, apenas com a alteração de cor ao se passar o mouse, e tentar fazer o que quero na segunda versão do site, pois se eu continuar assim nem publicarei a primeira. Se servirem para alguma coisa minhas tentativas, aí estão. Há três situações: a primeira é a de mudar a cor da linha com clique, a segunda de mudar a cor ao se passar o mouse, e a terceira é uma adaptação de seu script, que até funcionou, aparece a cor ao clicar, mas se eu tirar o mouse de cima da linha a cor desaparece, não fica fixa.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>trocar cor de linha</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> .over1 { background-color: green; } .out1 { background-color: blue; }   .over2 { background-color: green; } .out2 { background-color: red; }   .class1{background-color:#cccccc;} .class2{background-color:#999999;} .class3{background-color:red;} .class4{background-color:blue;} </style> <script> function muda(objeto) { var alvo = document.getElementById(objeto); if(alvo.className=="class1") { alvo.className="class2"; } else { alvo.className="class1"; } }   function muda2(objeto) { var alvo = document.getElementById(objeto); if(alvo.className=="class3") { alvo.className="class4"; } else { alvo.className="class3"; } } </script> </head> <body>   <table>   <tr onmouseover="this.className='over1'" onmouseout="this.className='out1'"><td width="500" height="30" class="class1" id="a1" onclick="muda(this.id)">linha1</td></tr> <tr onmouseover="this.className='over2'" onmouseout="this.className='out2'"><td width="500" height="30" class="class2" id="a2" onclick="muda2(this.id)">linha2</td></tr>   <tr bgcolor="blue" onmouseover="this.className='over1'" onmouseout="this.className='out1'"><td width="500" height="30">linha3</td></tr> <tr bgcolor="red" onmouseover="this.className='over2'" onmouseout="this.className='out2'"><td width="500" height="30">linha4</td></tr> </table>   <div class="class1" id="a1" onmouseover="this.className='over1'" onmouseout="this.className='out1'" onclick="muda(this.id)">linha1</div> <div class="class3" id="a2" onmouseover="this.className='over2'" onmouseout="this.className='out2'" onclick="muda2(this.id)">linha2</div> <div class="class1" id="a1" onmouseover="this.className='over1'" onmouseout="this.className='out1'" onclick="muda(this.id)">linha3</div> <div class="class3" id="a2" onmouseover="this.className='over2'" onmouseout="this.className='out2'" onclick="muda2(this.id)">linha4</div>   <!-- <div class="class1" id="a1" onclick="muda(this.id)">linha1</div> <div class="class3" id="a2" onclick="muda2(this.id)">linha2</div> <div class="class1" id="a1" onclick="muda(this.id)">linha3</div> <div class="class3" id="a2" onclick="muda2(this.id)">linha4</div> --> </body> </html>

Para testar o código com as div's, comente as linhas cujas células utilizam o mesmo código javascript e css, pois do contrário não se conseguirá testar. Se houver alguma luz, por favor, me informe.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

não desmarcar botão de rádio na validação

12-05-2009 14:54

Fiz uma nova versão, testa ai

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <style> .class1{background-color:#669933;} .class2{background-color:#ffff99;} .class3{background-color:#cccccc;} </style>   <script> var ultima = ""; function muda(objeto, classe, acao) { var alvo = document.getElementById(objeto);   var obj = objeto; var cla = classe; var aca = acao;   // OVER if(aca=="over") { alvo.style.backgroundColor="#cccccc"; } // OVER   // CLICKS if(acao=="click") {   if(cla=="class1") { alvo.className="class2"; ultima = "class2"; }   if(cla=="class2") { alvo.className="class1"; ultima = "class1"; }   } // CLICKS   // OUTS if(acao=="out") {   if(cla=="class1") { alvo.style.backgroundColor="#669933"; }   if(cla=="class2") { alvo.style.backgroundColor="#ffff99"; }   } // OUTS } </script>   normal = verde<br>over = cinza<br>clicada = amarelo<br>   <div class="class1" id="a1" onclick="return muda(this.id, this.className, 'click')" onmouseover="muda(this.id, this.className, 'over')" onmouseout="muda(this.id, this.className, 'out')">a</div> <div class="class1" id="a2" onclick="return muda(this.id, this.className, 'click')" onmouseover="muda(this.id, this.className, 'over')" onmouseout="muda(this.id, this.className, 'out')">b</div> <div class="class1" id="a3" onclick="return muda(this.id, this.className, 'click')" onmouseover="muda(this.id, this.className, 'over')" onmouseout="muda(this.id, this.className, 'out')">c</div>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Bing [Bot]