Ir para conteúdo

POWERED BY:

Arquivado

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

alicacwb

Combo box desabilita text field

Recommended Posts

Olá galerinha..

 

Gostaria de saber como que ao selecionar um item de uma combo, desabilite uma caixa de texto ??? exemplo...

<select size="1" name="tb_cg_status" class="textfiel">                  <?php       switch ($tb_cg_status) {     case "Ativo":                echo "<option value=\"\">	-- Selecione --	</option>";    echo "<option value=\"Ativo\" selected>	Ativo</option>";    echo "<option value=\"Inativo\">Inativo desde:</option>";               break;     case "Inativo":                echo "<option value=\"\">   	 -- Selecione --	</option>";                echo "<option value=\"Ativo\">    Ativo 	 </option>";    echo "<option value=\"Inativo\" selected>	Inativo desde:  </option>";               break;         default:                echo "<option value=\"\" selected> 	 -- Selecione --	</option>";                echo "<option value=\"Ativo\">    Ativo 	 </option>";    echo "<option value=\"Inativo\"> 	 Inativo desde:  </option>";           break;       }?>                </select><input type="text" name="tb_cg_data" size="10" maxlength="10" value="<?php echo $tb_cg_data_desligamento ?>" class="textfiel" onkeypress="return txtBoxFormat(document.cadastro_pf, 'tb_cg_data_desligamento', '99/99/9999', event);">
Quando for selecionado o valor Ativo, desabilita o text field data... qdo inativo desde, o text field data fica habilitado...

Importante: gostaria que fosse sem dar reload na página...

 

Obrigada desde já

 

 

Alica CWB :ph34r:

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script language=javascript> function teste(v){  if(v!=0){  if(document.all){  e = document.all['form1']['tb_cg_data'];  }else{  e = getElementById('form1')('tb_cg_data');  }  if(v==1){  e.disabled = true;  }else{  e.disabled = false;  }  } }</script><select onchange="teste(this.value);"><option value=0>Selecione</option><option value=1>Ativo</option><option value=2>Inativo Desde</option></select><form name=form1 id=form1><input type="text" name="tb_cg_data" size="10" maxlength="10" value="10/07/2003" class="textfiel"></form><!--  onkeypress="return txtBoxFormat(document.cadastro_pf, 'tb_cg_data_desligamento', '99/99/9999', event);" -->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu implementaria assim:

 

<script>function teste(obj){     if(obj.options[obj.selectedIndex].value == '1')        document.forms[0].tb_cg_data.disabled = true;     else         document.forms[0].tb_cg_data.disabled = false;}</script><form name=form1 id=form1><select onchange="teste(this)"><option value=0>Selecione</option><option value=1>Ativo</option><option value=2>Inativo Desde</option></select><input type="text" name="tb_cg_data" size="10" maxlength="10" value="10/07/2003" class="textfiel"></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi himon...valeu pela ajuda, mas tem um problema....Eu setando os valores = 0,1,2..., qdo isso vai para o banco de dados, vai como 0,1,2... sacou ?Gostaria que fosse como ativo ou inativo...É fácil de resolver isso ??Nao entendo quase nada de js....Valeu.Alica CWB

Compartilhar este post


Link para o post
Compartilhar em outros sites

jsp_dev..Será que se eu trocar (na funçao) o numero 1 para ativo, dá certo ?^nao dá nenhum tipo de pane do js ???Valeu !Alica CWB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá certo sim se o valor do select for "ativo" ou "inativo"Por exemplo:<select onchange="teste(this)"><option value=selecione>Selecione</option><option value=Ativo>Ativo</option><option value=Inativo>Inativo Desde</option></select>e na função: if(obj.options[obj.selectedIndex].value == 'Ativo')

Compartilhar este post


Link para o post
Compartilhar em outros sites

tava bom demais pra ser verdade... :D

 

Tem um problema... Esse eh um form dinamico, ou seja, ele pode ser alterado a qquer momento...

Portanto, se eu errei algum dado, eu edito meu curriculum, e altero o q eu quero...

Quando eu edito, o php traz os dados já cadastrados, e exibe nos text fiel e combo box, respectivamente, para que os dados seja alterados...

Só que eu editei um curriculum em que o status da pessoa está como ativo, e o campo data, estava habilitado, qdo na realidade, deveria estar desabilitado...

Eu acho que devido ao chamamento da funçao ser OnChange, ele só vai desbalilitar o campo data (chamar a função), qdo for "editado" a combo box.

Tentei trocar o OnChange para OnLoad, mas nao funcionou... o que eu poderia usar pra chamar a função ??

function disable(obj){    if(obj.options[obj.selectedIndex].value == 'Ativo')       document.forms[0].tb_cg_data_desligamento.disabled = true;    else        document.forms[0].tb_cg_data_desligamento.disabled = false;}<form action="<?php echo "$PHP_SELF"; ?>" method="post" name="cadastro_pf"><select size="1" name="tb_cg_status_registro" class="textfiel" onload="disable(this)">                  <?php       switch ($tb_cg_status_registro) {     case "Ativo":                echo "<option value=\"\">   	 -- Selecione --	</option>";    echo "<option value=\"Ativo\" selected>  Ativo 	 </option>";    echo "<option value=\"Inativo\"> 	 Inativo desde:  </option>";               break;     case "Inativo":                echo "<option value=\"\">   	 -- Selecione --	</option>";                echo "<option value=\"Ativo\">    Ativo 	 </option>";    echo "<option value=\"Inativo\" selected>	Inativo desde:  </option>";               break;         default:                echo "<option value=\"\" selected> 	 -- Selecione --	</option>";                echo "<option value=\"Ativo\">    Ativo 	 </option>";    echo "<option value=\"Inativo\"> 	 Inativo desde:  </option>";           break;       }?>                </select><input type="text" name="tb_cg_data_desligamento" size="10" maxlength="10" value="<?php echo $tb_cg_data_desligamento ?>" class="textfiel" onkeypress="return txtBoxFormat(document.cadastro_pf, 'tb_cg_data_desligamento', '99/99/9999', event);"></form>

 

Alica CWB :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

:lol: Olá galerinha !

 

Entao.. o problema foi resolvido com php e ficou assim...

 

<input type="text" name="tb_cg_data_desligamento" size="10" maxlength="10" value="<?php echo $tb_cg_data_desligamento ?>" class="textfiel" onkeypress="return txtBoxFormat(document.cadastro_pf, 'tb_cg_data_desligamento', '99/99/9999', event);"[COLOR=red] <?php if ($tb_cg_status_registro == "Ativo") { echo " disabled"; }; ?>[/COLOR]>

Valeu pela ajuda pessoal...

 

Alica CWB :lol:

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.