Olá amigos, é a primeira vez que posto aqui e preciso de uma grande ajuda, pois tenho procurado em vão na internet, soluções para este problema.
O formulário abaixo, funciona quase perfeitamente, com exceção da chamada à função javascript. A minha intenção é que cada vez que se marque um checkbox, a função 'mostrarCampo()' torne visível o campo "input" (logo à direita desse checkbox).
Acontece, que cada vez que marco um checkbox (qualquer um), fica visível somente o input da 1ª linha. O que está errado?
//-----------------função Javasscript (em arquivo separado .js)------------------//
function mostrarCampo(){
case "f_Ins_Suprimento":
document.f_Ins_Suprimento.sClaNome.style.visibility="visible";
document.f_Ins_Suprimento.tfSupNome.style.visibility="visible";
document.f_Ins_Suprimento.tfSupEstoque.style.visibility="visible";
break;
.
.
.
case "f_Solicitacao_2":
est = document.getElementsByName("tfEst[]");
for(var i = 0; i<est.length; i++){
document.f_Solicitacao_2.tfEst[i].style.visibility="visible";
}
break;
default:
break;
}
}
//------------------O FORMULARIO--------------------------------------------------//
<!-- FORMULARIO DINÂMICO COM TRECHOS EM PHP QUE TRAZEM DADOS PARA SEREM MANIPULADOS -->
<form name="f_Solicitacao_2" action="index.php" method="post">
<div align="center">
<table id="tabRel">
<tr>
<th colspan="4">SOLICITAÇÃO DE ALOCAÇÃO DE RECURSOS</th>
</tr>
<tr><td colspan='2'>Equipamentos</td><td>Estoque</td><td></td></tr>
<?php
/*RECUPERANDO UMA VARIÁVEL VINDA DE OUTRO ARQUIVO */
$proId = $_REQUEST['id'];
/* CAPTURANDO E TRATANDO UMA EXCEPTION*/
try {
/*RECEBENDO OS DADOS*/
$lista = Equipamento::listarEquipamento();
/*PARA CADA DADO CONTIDO NO ARRAY LISTA, RECEBENDO E...*/
foreach($lista as $value){
$equ_Id = $value['equ_Id'];
$equ_Nome = $value['equ_Nome'];
$equ_Est = $value['equ_Estoque'];
/*ESCREVENDO NA TELA DENTRO DE UMA TABELA COM AS SEGUINTES COLUNAS
* NA PRIMEIRA, A CHAMADA DA FUNÇÃO 'mostrarCampo() É EXECUTADA QUANDO
* O CHECKBOX FOR MARCADO E DEVE TORNAR VISÍVEL O CONTEUDO DA COLUNA
* SEGUINTE */
echo "
<tr>
<td colspan='2'><input type='checkbox' id='chEquName' name='chEquName[]' onclick='mostrarCampo();' value=\"".$equ_Id."\" />".$equ_Nome."</td>
<td>Estoque :<input name='tfEst[]' id='tfEst[]' type='text' size='4' style='visibility:hidden;' value=\"".$equ_Est."\" /></td>
<td><input type='hidden' name='hProId' value=\"".$proId."\" /></td>
</tr>";
}
/* CASO A EXCEÇÃO TENHA SIDO CAPTURADA, EXEBE MENSAGEM*/
} catch (N_ListaVazia $exc) {
echo $exc->getMessage();
}
?>
</table>
<input type='hidden' name='hLabel' value='tela_Solicitacao_2' />
<p align="center"><input type="submit" name="bSubmit" value="confirmar"/></p>
<p align="center"><a href="?acao=tela_Servicos">VOLTAR</a></p>
<p align="center"><a href="?acao=logout">SAIR</a></p>
</div>
</form>
Pergunta
nic
Olá amigos, é a primeira vez que posto aqui e preciso de uma grande ajuda, pois tenho procurado em vão na internet, soluções para este problema.
O formulário abaixo, funciona quase perfeitamente, com exceção da chamada à função javascript. A minha intenção é que cada vez que se marque um checkbox, a função 'mostrarCampo()' torne visível o campo "input" (logo à direita desse checkbox).
Acontece, que cada vez que marco um checkbox (qualquer um), fica visível somente o input da 1ª linha. O que está errado?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.