Ir para conteúdo
Fórum Script Brasil
  • 0

Preencher um formulário com a ajuda de uma tabela


Frank K Hosaka

Pergunta

Aqui a ideia é usar o PHP para montar o plano de contas e esconder num <div>.

Quando o usuário clicar no <input> da conta devedora, o JavaScript mostra o plano de contas; quando o usuário escolhe a conta, o JavaScript esconde o plano de contas e preenche os dados da conta devedora.

Esse é o mesmo raciocínio para conta credora.

A grande dificuldade que eu senti foi na função slice do Javascript. Para pegar o lado esquerdo, usei escolha.slice(0,3) e deu certo. Para pegar o lado direito, eu tentei escolha.slice(3,-1), mas não deu certo. Então usei a função substr( ) :

<script>
var endereçoConta, endereçoDescrição
function voltar(escolha){
    destino=document.getElementById(endereçoConta)
    destino.value=escolha.slice(0,3)
    destino=document.getElementById(endereçoDescrição)
    tamanho=escolha.length-3;
    destino.innerHTML=escolha.substr(3,tamanho)
    conta.style.display='none'}
function escolha(voltarConta,voltarDescrição){
    conta.style.display='block'
    this.endereçoConta=voltarConta
    this.endereçoDescrição=voltarDescrição}
</script>
<div id=conta style=display:none>
<table style="width:250px;margin:0 auto;margin-top:100">
<tr><td>Escolha uma conta:
<?php 
$contas=[[101,'Banco'],[201,'Patrimônio'],[301,'Salário'],[401,'Despesa']];
foreach($contas as $conta): ?>
<tr><td><a onclick=voltar(this.innerHTML)><?=$conta[0]." ".$conta[1]?></a>
<?php endforeach; ?>
</table>
</div>
<table style="width:250px;margin:0 auto;margin-top:100"><th style=width:50px><th>
<tr><td>ContaD<td><input id=ContaD onclick="escolha('ContaD','DescriçãoD')" size=2>
    <a id=DescriçãoD></a>
<tr><td>ContaC<td><input id=ContaC onclick="escolha('ContaC','DescriçãoC')" size=2>
    <a id=DescriçãoC></a>
</table>

 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
8 horas atrás, lowys disse:

Olá!
Dessa forma o user pode, facilmente, digitar um número que não exista.
porque não usa o tradicional select?

Excelente resposta, se o plano de contas tivesse apenas cinco contas. No meu caso, tenho 46 contas, e preciso mostrar o máximo que eu puder dentro da tela de um celular.

Outro problema bem chato de resolver é o user digitar uma conta que não existe, isso é uma dor de cabeça que eu não sei resolver há três anos. Como só eu uso essa rotina, deixei para o PHP explodir com as suas mensagens. Isso é uma solução bem porcaria, mas é a minha cara, eu só sei improvisar. Eu ainda estou no ambiente mono usuário, o máximo que eu consegui foi utilizar dois usuários. Já o ambiente multiusuário, eu não tenho a menor ideia de como implementar.

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...