[JS][PHP][HTML]activar/desactivar text field com checkbox

Started by Kugas, June 05, 2008, 11:09:08 AM

Previous topic - Next topic

Kugas

Boas...

é o seguinte, descobri por ai na net uma forma de desactivar e activar uma TEXT-FIELD ao selecionar uma checkbox... tou a fazer isto dentro de um ciclo while... ele funca num so registo da query mas kd é mais que um deixa de funcar...

deixarei aki o codigo:









.::CRM PDA::.












<_SESSION>





Campanhas de Merchandising







 













 

 














 

 

 




 

 



 

 



 

CampanhasInOutEntradaSa&iacute;da&nbsp;
&nbsp;
&nbsp;


 


 

 &nbsp;&nbsp;&nbsp; Voltar:







agradeço a ajuda :s

Obrigado

fleep














testa e adapta
Assina-mos

Kugas


fleep

Quotee funciona num ciclo while (PHP)???
ah nao tomei atenção a essa parte

edit: não podes postar aí o código php ?
Assina-mos

Kugas

o problema é k eu meto aki o codigo php e desaparece ao submeter :| muito estranho... aliás esse codigo html k ai esta tb tinha o codigo PHP e nao sei prk ele nao ficou la juntamente com ele...

fleep

Quoteo problema é k eu meto aki o codigo php e desaparece ao submeter :| muito estranho... aliás esse codigo html k ai esta também tinha o codigo PHP e nao sei prk ele nao ficou la juntamente com ele...

Quando estás a escrever a mensagem, tens uma opção que diz "Desactivar HTML nesta mensagem"
Assina-mos

Kugas

Ora ai esta, desculpa a demora:









.::PDA::.

















Campanhas







 













 
 $sel="SELECT c.campanha,ca.idcamp

FROM tbl_campanhas c, tbl_campasaloca ca

WHERE ca.estado=0

AND ca.idCliente=".$_SESSION[\\'idCliente\\']."

AND ca.campanha=c.idcam";

$stmt=mysql_query($sel, $conDb);

error_log(\\'Consulta--->\\'.$_SESSION[\\'nome\\']);

#echo $sel;

while($row=mysql_fetch_array($stmt))

{

$id=$row[\\'idcamp\\'];

?>





















 


FROM tbl_datain

WHERE idcampanha=\\'".$id."\\'

GROUP BY idcampanha,datain,dataout";

$stmtin=mysql_query($selin, $conDb);

#echo $selin;

#echo \\'
\\';



$rowi=mysql_fetch_array($stmtin);



#echo $rowi[\\'idcampin\\'];

#echo $rowi[\\'datain\\'];

#echo $rowi[\\'dataout\\'];



$idcampin=$rowi[\\'idcampin\\'];



?>






}

?>

 



 

 



 

 



 

CampanhasInOutEntradaSa&iacute;daInfo
\\':\\'\\'?>

\\':\\'\\'?>

\\':\\'\\'?>

&nbsp;


 


 

 &nbsp;&nbsp;&nbsp; Voltar:







fleep

boas, também só consegui ver isto agora e aqui vai:






(...)



$i=0;

while(...){

echo" ";

$i++;

}

A ideia é existir uma variável a servir de contador para associar o value de uma checkbox ao id da respectiva input. Eu fiz esse código usando uma listagem que já tinha feita de um projecto antigo e lá funcionou bem. Agora não sei é se vai servir bem no teu caso, porque não cheguei a perceber o que era pretendido com esse código.
Assina-mos

Kugas

nao funciona :s

aqui esta o codigo:









.::CRM::.

















Campanhas







 













 
 $sel="SELECT c.campanha,ca.idcamp

FROM tbl_campanhas c, tbl_campasaloca ca

WHERE ca.estado=0

AND ca.idCliente=".$_SESSION[\\'idCliente\\']."

AND ca.campanha=c.idcam";

$stmt=mysql_query($sel, $conDb);

error_log(\\'Consulta--->\\'.$_SESSION[\\'nome\\']);

#echo $sel;

$i=0;

while($row=mysql_fetch_array($stmt))

{

$id=$row[\\'idcamp\\'];

?>





















 


FROM tbl_datain

WHERE idcampanha=\\'".$id."\\'

GROUP BY idcampanha,datain,dataout";

$stmtin=mysql_query($selin, $conDb);

#echo $selin;

#echo \\'
\\';



$rowi=mysql_fetch_array($stmtin);



#echo $rowi[\\'idcampin\\'];

#echo $rowi[\\'datain\\'];

#echo $rowi[\\'dataout\\'];



$idcampin=$rowi[\\'idcampin\\'];



?>






$i++;

}

?>

 



 

 



 

 



 

CampanhasInOutEntradaSa&iacute;daInfo
\\':\\'\\'?>

\\':\\'\\'?>

\\':\\'\\'?>

&nbsp;


 


 

 &nbsp;&nbsp;&nbsp; Voltar:







fleep

é impressão minha ou falta-te por o id=\\'$i\\'  nas texts? de resto acho que está tudo bem.


btw, tu tens 2 checks e 2 texts , certo? tu queres que uma das checks active/desactive uma dessas texts e que a outra check faça o mesmo em relação à outra text?é que se assim for, este código não vai dar. vai ter de se brincar um bocado com a $i
Assina-mos

Kugas

ya é isso mesmo que se pretende... entao como se brinca ai com a $i?

fleep

Quoteya é isso mesmo que se pretende... entao como se brinca ai com a $i?

assim de repente sai-me isto:



(...)



$i=0;

while(...){

echo "";

$i++;



echo "";

$i--;



echo"";

$i++;



echo"";





$i++;

}

Assim o value da check1 vai estar associado ao id da text1 e o value da check2 associado ao id da text2.
Assina-mos

Kugas

fiz como tu fizeste e nao dá :S desliga so o primeiro textfield qd seleciono a 1Ã,ª checkbox de resto fica como se nada tivesse passado qd os seleciono tb

fleep

Quotefiz como tu fizeste e nao dá :S desliga so o primeiro textfield qd seleciono a 1Ã,ª checkbox de resto fica como se nada tivesse passado qd os seleciono também
Ah mas tu queres que uma checkbox desactive 2 texts ?
Isso ta feito de modo a q a primeira check desactive a primeira text e a 2Ã,ª check desactive a 2Ã,ª text
Assina-mos

Kugas

Quote
Quotefiz como tu fizeste e nao dá :S desliga so o primeiro textfield qd seleciono a 1Ã,ª checkbox de resto fica como se nada tivesse passado qd os seleciono também
Ah mas tu queres que uma checkbox desactive 2 texts ?
Isso ta feito de modo a q a primeira check desactive a primeira text e a 2Ã,ª check desactive a 2Ã,ª text

não... eu keria como tas a dizer a 1Ã,ª check desactiva/activa a 1Ã,ª text e a 2Ã,ª desactiva/activa a 2Ã,ª text

mas como ja te tinha dito o que me deste nao ta a funcar  :cry:

se nao tivesse que usar a função while ja tava tudo bem lol isto agora torna-se um desafio pa tentar meter isto a funcar

fleep

Podes-me mandar essa página e a BD ? Eu tenho o código que te mandei aplicado e a funcionar :s
Assina-mos

Kugas

desculpa eu nao te posso enviar prk tem cenas que são confidenciais... com o codigo k te dei nao consegues ver mais ou menos? :S

fleep

Estive agora a adaptar o teu codigo e o meu a uma BD que tinha aqui. Só precisas de modificar as 3 partes que estão a negrito.
Quote<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1;" />
<link href="includes/main.css" rel="stylesheet" type="text/css">
<title>.::PDA::.</title>
<style type="text/css">
<!--
.style2 {
   color: #0000ff;
   font-weight: bold;
}
.style9 {
   color:#009900;
   font-weight: bold;
   font-size:12px;
}
-->
</style>
<script language="Javascript" type="text/Javascript">
function desactivar(x){
var input = document.getElementById(x);
   if(input.disabled==true){input.disabled=false;}else{input.disabled=true;}
}  
</script>

</head>

<bodyb>

<div align="center" id="box"><?=$_SESSION[\\'nome\\'].\\'-\\'.$_SESSION[\\'localidade\\']?></div>


<div align="center">Campanhas</div>

<form name="form1" method="post" >
<table width="98%"  border="0" cellspacing="1" cellpadding="0">
      <tr>
        <td width="19%" id="headerT">Campanhas</td>
        <td width="4%" id="headerT">In</td>
        <td width="4%" id="headerT">Out</td>
        <td width="10%" id="headerT">Entrada</td>
        <td width="6%" id="headerT">Sa&iacute;da</td>
        <td width="57%" id="headerT">Info</td>
      </tr><?php
     
      $ligacao = mysql_connect(\\'localhost\\', \\'root\\') or die("Falha na ligação à base de dados.");
mysql_select_db("blog", $ligacao) or die("Base de dados não encontrada.");


      $sel="SELECT * FROM post where estado=1 ORDER BY id desc";
     $stmt=mysql_query($sel);
$i=0;
   while($row=mysql_fetch_array($stmt))
{
   $id=$row[\\'id\\'];
   ?>

    <tr>
        <td id="bodyT"><input type="hidden" name="idcamp" size="10" value="<?=$row[\\'id\\']?>"><?=$row[\\'titulo\\']?></td>
       
      <td id="bodyT"><input type="checkbox" name="incheck" value=\\'<?=$i?>\\' onclick=\\'desactivar(this.value)\\'></td>
       <?$i++?>
        <td id="bodyT"><input type="checkbox" name="outcheck" value=\\'<?=$i?>\\' onclick=\\'desactivar(this.value)\\'></td>
       <?$i--?>  
        <td id="bodyT"><input type="text" name="datain" id=\\'<?=$i?>\\' size="10"></td>
        <?$i++?>
        <td id="bodyT"><input type="text" name="dataout" id=\\'<?=$i?>\\' size="10"></td>      

    <td id="bodyT"><?=$rowi[\\'datain\\']!=\\'0000-00-00\\' && $rowi[\\'dataout\\']==\\'0000-00-00\\' && $rowi[\\'insertin\\']==1?\\'Por Favor insira a data de saída quando possível!<input type="hidden" name="inin" size="10" value="1"><input type="hidden" name="idc" size="10" value="\\'.$idcampin.\\'">\\':\\'\\'?>
   <?=$rowi[\\'datain\\']==\\'\\'?\\'Ainda não foi efectuada qualquer entrada nesta campanha!<input type="hidden" name="inin" size="10" value="0">\\':\\'\\'?>
   <?=$rowi[\\'datain\\']==\\'0000-00-00\\' && $rowi[\\'dataout\\']==\\'0000-00-00\\' && $rowi[\\'insertin\\']==0?\\'Por Favor insira a data de saída quando possível!<input type="hidden" name="inin" size="10" value="1"><input type="hidden" name="idc" size="10" value="\\'.$idcampin.\\'">\\':\\'\\';
    $i++ ?>

   </td>
     </tr>
<?php
}
?>
      <tr>
        <td colspan="6"><div align="center"><span class="style9"><?=$msg?></span></div></td>
      </tr>
      <tr>
        <td colspan="6">&nbsp;</td>
      </tr>
      <tr>
    <td colspan="6">
      <div align="center">
              <input type="submit" name="Submit" value="Gravar!">
              &nbsp;&nbsp;&nbsp; Voltar: <a href="welcomepda.php"><img src="images/setalalanja.PNG" width="23" height="20" border="0"></a> </div></td>
  </tr>
</table></form>

</body>
</html>
Assina-mos

Kugas

eepppppaaaaaaahhhh agr funciona é isto mesmo k eu kero....so faltava meter uma pekena coisa nakilo k me deste.... por disabled no datain e dataout.... de resto ficou tudo a funcar.... olha muito obrigado  :wink:  se fosses gaja beijava-te mas assim dou-te um grande ABRAÇO... lolol obrigado

fleep

Quoteeepppppaaaaaaahhhh agr funciona é isto mesmo k eu kero....so faltava meter uma pekena coisa nakilo k me deste.... por disabled no datain e dataout.... de resto ficou tudo a funcar.... olha muito obrigado  :wink:  se fosses gaja beijava-te mas assim dou-te um grande ABRAÇO... lolol obrigado
demorou mas conseguimos
Assina-mos