Como vocês fazem isso usando HTML?

7 respostas
A

Ola Pessoal,

Sou um recem programador WEB, minha vida inteira fui programador desktop, e acredito que estou com uns problemas de “paradigma” para trabalhar com Web.
Tenho uma tela onde o usuário irá lançar algumas viagens (sistema de transportadora). Essa tela nada mais é que um cadastro, onde eu irei ligar 7 tabelas diferentes.
Tenho a tabela principal, chamada de Viagem, dentro dela, eu armazeno os códigos de outras tabelas, que são (Motorista, Cliente, Destino, Origem, Remetente, Produto).
A idéia é o seguinte, na minha interface WEB, terá os códigos para o usuário digitar e do lado terá os nomes de cada campo, por exemplo, se ele digitar codigo 1, que se refere ao Motorista José, deve aparecer no campo do lado José, e esse campo Nome, será disabled. Via desktop é fácil, no evento onExit do codigo eu faço um teste e jogo os valroes direto para o campo nome filed.setText()… Agora via Web, tem que ficar dando os “submits” da vida. Será que tem algum jeito de fazer isso mais fácil?

Estou trabalhando atualmente com Servlet e Velocity, mas se utilizar ferramentas MVC for mais facil, posso começar a estudar Webwork por exemplo.

Agradeço a ajuda

Obrigado

7 Respostas

sergiolopes

a ideia eh q uma pagina html (depois de baixada pelo navegador, nao importa como ela foi gerada - php, asp, java…) eh estatica. ou seja, a pagina sera aquilo e pronto! ate q vc baixe uma nova pagina.

portanto, vc sempre precisara voltar ao servidor, dando os tais submits da vida… nao ha outro jeito.

o q vc pode mudar eh a forma como dar “submits” (a forma como voltar ao servidor). a ideia mais imediata é dar submit no form principal da pagina e carregar a pagina inteira de novo. outro jeito poderia ser carregar pedacos da pagina apenas, e isso pode ser feito colocando iframes ou javascript, por exemplo.

a solucao com iframes permite ter varias paginas e vc pode fazer elas se parecerem com uma. mas nao acho uma solucao mto boa.

a solucao com javascript poderia ser carregar as informacoes do novo campo (com base no campo anterior) e fazer o javascript inserir essas informacoes no html. essa solucao eh mais complicada, depende do cara ter javascript e tal.

a solucao de carregar a pg inteira eh a q vc tem 100% de garantia q funciona, embora encha o saco do usuario.

vc precisara escolher o q usar. e ate ver se nao ha outra forma de evitar isso… pq na web normalmente evita-se esse tipo de situacao (tipica de um programa desktop).

_fs

Bem cara ao digitar o código do nosso amigo motorista josé, você tem duas opções:

  1. Dar um refresh na página, chamando a informação jose para o campo
  2. Carregar TODAS as pessoas que tem código na página (dentro de um array em javascript, ou qualquer coisa desse tipo), sendo assim, ao digitar um código, consegues através de script preencher o input chato e deixá-lo disabled

Bem, agora há uma terceira e obscura opção, usada apenas por pessoas parcialmente insanas:

  • O seu “input” na verdade é um input DENTRO de um iframe, desta maneira, ao colocar o código ‘1’ no outro campo, você manda essa informação para o iframe, e neste você dá um submit … assim o input ganha um refresh e a informação vai e volta do servidor.

Deu para entender mais ou menos?

Boa sorte :smiley:

A

Obrigado pelas respostas, e como eu disse, eu ainda estou com uma grande idéia de Desktop.

Porque a idéia de usar IFrame não é legal (pelo que eu pensei, me parece a mais certa)???

Então LIPE, esse lance de subir para uma Array de JavaScript é complicado, vai que uma determinada tabela tem mais de 50 mil registros? No Caso do Motorista não tem mais que 200, mas se for pegar Remetente, Destinatario, Clientes, Produtos, etc… tudo em uma única tela, vai dar muito mais que 10 mil registros, ae complica certo?

Essa prática de digitar o código e trazer o nome é idéia de desktop, qual é a idéia que se deve usar em WEB? lembrando que deve ser o mais amigável e prático possível para os usuários

sergiolopes

eu acho q se for fazer um array de javascript deve ser feito isso como eu falei: carregar apenas os dados q vc ja sabe. algo mais ou menos assim:

  • o cara digita 1 e no evento onblur deste campo vc chama um arquivo js dinamico
  • o arquivo js (q na verdade sera uma servlet, jsp, php, asp,…), busca o nome do cara “1” no bd e imprime uma intrucao js do tipo “document.form.nome.value = RESULTADO_DA_SQL”
  • a hora q o js dinamico chegar vai aparecer Jose onde devia aparecer

a solucao com iframes eu nao gosto mto pq eh meio “porca”, parece gambiarra.

bLaCkWiZaRd

Os iframes eh bem na gambiarra mesmo, quando você vai utilizar apenas um ate fica legal, mas no caso vc teria que criar varios iframes, pq cada campo teria q ter um iframe… Eu ja usei iframes e nao gostei mto de usar nao… :stuck_out_tongue:

pcalcado

HTML é uma grande gambiarra :stuck_out_tongue:

Quando eu comecei a programar web, um refresh custava muito caro. Hoje em dia qualquer coisa se resume a um refresh e dez mil parâmetros na querystring.

Seus usuários vão estar onde? Se for numa rede privada, você pdoeria usar os refreshs, ficaria mais ‘limpa’ e você teria muito menos trabalho de manutenção.

Se a realidade é a de linhas discadas, poube os pulsos do carinha e faça uma interface javascript. JavaScript não permite muita elegância por sua pró’ria natureza, use um frame invisível para armazenar seus dados e fazer submits…

vai depender do contexto :wink:

[]s

_fs

Oooou dependendo do seu projeto você faz uma aplicação desktop mesmo, distribuindo-a com webstart :smiley:

O pior problema do excesso de uso dos iframes, na minha opinião, é fazer manutenção no treco todo depois. Mas se é raro isto ser necessário, sem problemas :smiley:

Criado 14 de maio de 2004
Ultima resposta 14 de mai. de 2004
Respostas 7
Participantes 5