Pular para o conteúdo principal

Migrando variáveis PHP para Javascript

Um pouco de programação.

LEIA: Este artigo não contará com exemplos, apenas uma breve explicação de como isso pode ser feito sem usar AJAX, apenas PHP, HTML e Javascript.

Realmente não é possível mesclar PHP com Javascript diretamente. Mas porque mesclar?

Mesclar porque, apesar do PHP ter as ferramentas, tudo em PHP precisa ser resolvido no servidor. Contrapartida o Javascript agiliza e pode fazer muitas coisas interessantes sem precisar do servidor, ou seja, localmente, sem precisar rodar e processar um Form.

Imagine atualizar um campo INPUT qualquer tendo que recarregar a página? Se precisar fazer isso com muitos campos você vai ficar doido enviando informações já escolhidas para mostrá-las novamente.

A saída que usei foi criar campos INPUTS type="hidden" a partir do Foreach do PHP.

Uma vez que agora tenho estas informações em HTML, ou seja, os campos INPUT, usei o Javascript com a opção document.getElementById("id_input+i).value para armazenar as informações em uma Array Javascript.

Uma vez que trouxe as informações da base de dados com PHP usando um cotador inciado no zero, uso também um contador javascript inciado em zero. Para que tudo funcione também passei o valor final do contador PHP para um campo type="hidden" no value=<?=$contador?>.

A variável i é um contador Javascript e a variável contador veio de um dos INPUTS com getElementById, então, parte do meu Javascript, ficou assim:

while (i <= contador) {
  produtos[i] = document.getElementById("nproduto"+i).value;

Agora consigo atualizar um campo qualquer a partir de um SELECT pois tudo passa a ser Javascript até realmente eu submeter meu Form ao servidor para gravar ou passar para uma próxima fase.

Tente o desafio se precisar.

Comentários

Postagens mais visitadas deste blog

Windows 10 pedindo credenciais para acessar rede local

Em uma rede com acesso estabelecido entre computadores rodando Windows 7 e Windows 10, um novo micro foi inserido e ocorreu este pequeno problema, ao acessar um micro da rede a partir deste novo Windows 10, havia o pedido de credenciais. O que estava diferente neste Windows 10 para outros da rede é que este não entrava com uma conta local, mas sim com uma conta Microsoft. Como os demais micros de rede não contavam com senha e sabemos que as credenciais para contas locais necessitam de senha para funcionar é aqui que está a solução. Neste caso, onde há pedido de credenciais a partir de um micro que faz login com uma conta Microsoft ao invés de uma conta local, o sistema de credenciais aceita a entrada sem senha , apenas com o nome do usuário. Portanto, ao se deparar com este detalhe, entre com o nome do usuário do micro, deixe a senha em branco e marque para salvar as informações.

Habilitar o usuário Administrador e acessar C$ via rede.

Em algumas versões do Windows é possível, por meio do Gerenciador do Computador, ativar e desativar contas de usuários incluindo a conta Administrador, porém em algumas versões isso somente é possível por meio de linha de comando. Com o usuário Administrador ativo, além de outras coisas, pode-se acessar todas as pastas do micro via rede por meio do compartilhamento padrão C$, mas o Administrador deverá obrigatoriamente estar configurado com uma senha. Este acesso pode ser feito com o seguinte caminho: \\nomedocomputador\c$\ Para ativar o usuário Administrador abra o prompt de comando como administrador do sistema clicando sobre o ícone com o botão de direito do mouse e escolhendo “Executar como Administrador”. (Iniciar » Todos os Programas » Acessórios » Prompt de comando). Digite a linha de comando: net user administrador /active:yes No menu Inciar » Executar, digite o comando “ control userpasswords2 ” (sem as aspas) para abrir o gerenciador de contas de usuário...

Tela do Notebook piscando na bateria

Em notebooks mais novos tem ocorrido o erro da tela piscando quando o equipamento está trabalhando somente na bateria após a troca do sistema operacional de Linux para Windows ou de Windows 10 para versões menores do Windows. O problema é resolvido alterando a frequência de atualização da tela de 60Hz, padrão, para 40Hz. Siga os passos: 1. Clique com o botão direito do mouse em qualquer área vazia do Desktop ou Área de Trabalho; 2. Clique em Resolução de Tela; 3. Escolha "Opções Avançadas"; 4. Na aba Monitor altere a "Freqüência de atualização da tela" para 40Hz, aplique e Ok. NOTA (2020): Não testei, mas para aqueles que estão passando por problema, procurem, nos drivers do fabricante do equipamento, o DRIVER-CHIPSET. Ter este do Driver oriundo do fabricante é mais interessante que ter o do Windows. Façam o teste.