Jump to content
Fórum Script Brasil
  • 0

Preencher um formulário com a ajuda de uma tabela


Frank K Hosaka

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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.

Edited by Frank K Hosaka
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...