Ir para conteúdo

POWERED BY:

Arquivado

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

tensilvamelo

Ativar input text se opção de select box é selecionada com javascript

Recommended Posts

Bom dia,

 

Estou iniciando na programação e criando um sistema para aferição de produtividade operacional com php e mysql. Neste formulário, gostaria que, através da função javascript mostra(), o código verificasse o valor da opcão preenchida e, caso seja "qvc" (quantidade de visitas comunitárias), setar o atributo "disabled" do input de nome "quant" como false para que ele apareça e o operador possa digitar a quantidade de visitas a serem cadastradas.

 

O sistema funciona direitinho sem esta funcionalidade e os select boxes são carregados com informações da tabela sql onde existe a opção 'Visita Comunitária', que passa ao formulário o valor 'qvc' . Me ajudem, por favor!

 

<HTML>
<HEAD>
<SCRIPT language="Javascript">
function somente_numero(campo) {
var digits = "0123456789";
var campo_temp;
for (var i=0; i<campo.value.length; i++){
campo_temp = campo.value.substring(i,i+1);
if ((digits.indexOf(campo_temp) == -1)||(i>4)) {
campo.value = campo.value.substring(0,i);
}
}
}
function mostra() {
var ref_select = document.getElementById('criterio');
var ref_input = document.getElementById('quant');
if (criterio.options.value == "qvc") {
ref_input.disabled = "false";
}
}
</SCRIPT>
</HEAD>
<BODY>
<?php
require_once('conectabanco.php');
$sql1 = mysql_query("SELECT * FROM destaque.TabCadPolicial") or die ('Erro na consulta!'.mysql_error());
$sql2 = mysql_query("SELECT * FROM destaque.TabCadPontos") or die ('Erro na consulta!'.mysql_error());
?>
<form name="form_efetivo" method="post" action="produtividade_cadastro.php">
<i>Preencha os campos abaixo e selecione a opção desejada:</i><br><br>
<table border="0">
<tr>
<td>Nome de Guerra:</td>
<td><select name="nomeguerra">
<option>Selecione...</option>
<?php while($row1 = mysql_fetch_array($sql1)) {
echo "<option value=\"".$row1['nogue']."\">".$row1['nogue']."</option>";
} ?>
</select></td>
</tr>
<tr>
<td>Critério:</td>
<td><select name="criterio" id="criterio" OnChange="mostra();">
<option>Selecione...</option>
<?php while($row2 = mysql_fetch_array($sql2)) {
echo "<option value=\"".$row2['criterio']."\">".$row2['descricao']."</option>";
} ?>
</select></td>
</tr>
<tr>
<td>Quantidade:</td>
<td><input type="text" name="quant" id="quant" maxlenght="2" size="8" value="" onKeyUp="javascript:somente_numero(this);" disabled="true"></td>
</tr>
</table>
<br>
                           
<input type="submit" value="Confirmar">
</table>
</form>
</BODY>
</HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu não sei o que é um jsfiddle, mas postei o código dentro da opção "código" aqui do editor de posts...

<HTML> <HEAD><SCRIPT language="Javascript">function somente_numero(campo) {   var digits = "0123456789";   var campo_temp;   for (var i=0; i<campo.value.length; i++){      campo_temp = campo.value.substring(i,i+1);      if ((digits.indexOf(campo_temp) == -1)||(i>4)) {         campo.value = campo.value.substring(0,i);      }   }} function mostra() {   var ref_select = document.getElementById('criterio');   var ref_input  = document.getElementById('quant');   if (criterio.options.value == "qvc") {      ref_input.disabled = "false";   }}</SCRIPT></HEAD> <BODY> <?php   require_once('conectabanco.php');   $sql1   = mysql_query("SELECT * FROM destaque.TabCadPolicial") or die ('Erro na consulta!'.mysql_error());   $sql2   = mysql_query("SELECT * FROM destaque.TabCadPontos") or die ('Erro na consulta!'.mysql_error());?> <form name="form_efetivo" method="post" action="produtividade_cadastro.php"> <i>Preencha os campos abaixo e selecione a opção desejada:</i><br><br> <table border="0">   <tr>      <td>Nome de Guerra:</td>      <td><select name="nomeguerra">                  <option>Selecione...</option>                   <?php while($row1 = mysql_fetch_array($sql1)) {                  echo "<option value=\"".$row1['nogue']."\">".$row1['nogue']."</option>";                  } ?>            </select></td>   </tr>   <tr>      <td>Critério:</td>      <td><select name="criterio" id="criterio" OnChange="mostra();">                  <option>Selecione...</option>                                    <?php while($row2 = mysql_fetch_array($sql2)) {                  echo "<option value=\"".$row2['criterio']."\">".$row2['descricao']."</option>";                  } ?>                            </select></td>   </tr>   <tr>      <td>Quantidade:</td>      <td><input type="text" name="quant" id="quant" maxlenght="2" size="8" value="" onKeyUp="javascript:somente_numero(this);" disabled="true"></td>   </tr></table><br>                           <input type="submit" value="Confirmar"> </table> </form> </BODY> </HTML>

 

Ninguém para dar uma ajuda???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi você tem que pegar o valor que esta selencionado na combobox para compara-lo e se for igual liberar a input algo assim:

 

function mostra() {
   //Pega o item selecionado na combo.
   var indexSelect = document.getElementById("teuSelect").selectedIndex;
   //Pega o valor selecionado
   var valueSelected = teuform.teuselect.options[indexSelect ].value; 

   var ref_input  = document.getElementById('quant');
   if (valueSelected == "qvc") {
      ref_input.disabled = "false";
   }
}

Só lembre de alterar ali no primeiro item o nome da sua combobox.

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.