Jump to content
Biel.

[Resolvido] imprimir em php valor javascript

Recommended Posts

Olá pessoal. Direto ao ponto. Abaixo temos uma function. Note que ao clicar no link seu valor mostra e esconde. Até aqui tudo ok.
Estou tentando fazer o seguinte: Quando o link for pressionado, quero imprimir em php o valor de

Nota: Não é para criar button é para clicar no link mesmo. Obrigado ! 

 


<!--<button onClick="func_1()" >botao</button>-->

<a href="link1.php" onClick="func_1()">link1 </a> <br> <br> 
<p id="tete1"></p>

<script>
function func_1() {
	
var a = 300;

var teste = document.getElementById('tete1');
    teste.innerHTML = a; 
	}

document.getElementById('tete1').innerHTML = a;

</script>

 

Share this post


Link to post
Share on other sites

Primeiro que a tag <a> deve ser manipulada para que ela não redirecione de imediato.

A função é quem deve fazer isso.

O que pode fazer é passar essa informação por protocolo GET para o arquivo link1.php

<!--
O nome do evento é "onclick" e não "onClick"
O atributo "href" não é necessário pois é a função quem vai redirecionar
<a href="link1.php" onClick="func_1()">link1 </a> <br> <br>
<p id="tete1"></p> Isso se torna inutilizável aqui pois haverá redirecionamento
-->
<a href="link1.php" onclick="func_1()">link1 </a>

<script>
function func_1(e) {
    /*
    // Caso precise usar o atributo href
    e.preventDefault();
    var link = e.target.href + '?informacao=' + 300;
    */
    var link = 'link1.php?informacao=' + 300;
    window.location.href = link;
  	return (false);
}
</script>

 

Em link1.php

<?php
var_dump($_GET['informacao']);

 

Share this post


Link to post
Share on other sites

Omar, tem como dar um exemplo prático com base no código que postei? Outro detalhe é que não tem apenas um link, mas centenas de links/href

Share this post


Link to post
Share on other sites

Tenta assim:

<a href="link1.php" class="link-da-funcao">link1</a>
<a href="link2.php" class="link-da-funcao">link2</a>
<a href="link3.php" class="link-da-funcao">link3</a>

<script>
    var links = document.querySelectorAll('a.link-da-funcao');

    links.forEach(function (e) {
        e.setAttribute('data-link', e.href); // Adiciona o atributo "data" na tag com o valor do atributo "href"
        e.removeAttribute('href'); // Remove o atributo "href" impedirá de redirecionar
        e.addEventListener('click', func_1, false); // Adiciona o evento click na tag
    });

    function func_1(e) {
        // Obtem o link pelo atributo "data" e rediceciona para ele enviando a informação por GET
        window.location.href = (e.target).dataset.link + '?informacao=' + 300;
    }
</script>

 

Share this post


Link to post
Share on other sites

Omar, infelizmente o objetivo não foi atingido. Vamos começar do zero. Veja abaixo o que o php está fazendo: Pegando o valor javascript e exibindo na tela o valor. Quero mudar apenas um detalhe: Gostaria que php exibisse na tela o valor javascript somente quando o link receber um click 

 

<h1>esta é a pagina 1 </h1>
<a href="link1.php" onclick="pegarValor()">link1 </a><br> <br> 
<a href="link2.php" onclick="pegarValor()">link2 </a><br> <br> 
<script>
function pegarValor() {
var tete = "700";
return tete;
}
var tete = pegarValor();

</script>

<?php 
$valorJavascript = "<script>document.write(tete)</script>";
$pega = $valorJavascript; 
print $pega;
?>



<h1>esta é a pagina 2 </h1>
<a href="link1.php" onclick="pegarValor()">link1 </a><br> <br> 
<a href="link2.php" onclick="pegarValor()">link2 </a><br> <br> 

<script>
function pegarValor() {
var tete = "700";
return tete;
}
var tete = pegarValor();

</script>

<?php 
$valorJavascript = "<script>document.write(tete)</script>";
$pega = $valorJavascript; 
print $pega;
?>

 

Share this post


Link to post
Share on other sites

É que você quer meter os pés pelas mãos complicando algo muito simples.

Não precisa se desdobrar para extrair com o PHP alguma informação do javascript porque isso é impossível.

Nem o PHP pode extrair alguma informação do javascript .

Pense da seguinte forma:

1º - PHP (serve-side) processa e renderiza o DOM.

2º - Usuário (user-side) recebe o DOM renderizado pelo (serve-side).

Ou seja quando no javascript (user-side) queremos algo do PHP (serve-side) apenas pedimos que o PHP renderize a informação/conteúdo que queremos.

 

No contexto geral então quando você vai enviar algo de uma página para outra você envia a informação para o (user-side) e se algo precisa ser usado com essa informação ela é re-enviada para o (serve-side).

Lógico que (serve-side) para trabalhar sozinho com os dados e entregar para o (user-side) as informações renderizadas assim como disse antes.

 

Preparei 4 exemplos diferentes aqui para você ver qual a melhor alternativa.

https://drive.google.com/file/d/1nE7cHow4FivW63JEZdGie6GygHXEe_HG/view?usp=sharing

 

 

Share this post


Link to post
Share on other sites
Em 24/01/2021 at 16:31, Biel. disse:

Olá pessoal. Direto ao ponto. Abaixo temos uma function. Note que ao clicar no link seu valor mostra e esconde. Até aqui tudo ok.
Estou tentando fazer o seguinte: Quando o link for pressionado, quero imprimir em php o valor de

Nota: Não é para criar button é para clicar no link mesmo. Obrigado ! 

 



<!--<button onClick="func_1()" >botao</button>-->

<a href="link1.php" onClick="func_1()">link1 </a> <br> <br> 
<p id="tete1"></p>

<script>
function func_1() {
	
var a = 300;

var teste = document.getElementById('tete1');
    teste.innerHTML = a; 
	}

document.getElementById('tete1').innerHTML = a;

</script>

 

 

JavaScript não se comunica com PHP, se não por meio de requisição

Share this post


Link to post
Share on other sites

Achei que fosse possível, afinal hoje em dia muita coisa está se tornando possível. Obrigado !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. Nesta URL  gostaria que ao clicar em um link qualquer memorizasse a posição final do scroll ou seja impedisse scroll de voltar para topo . Segue abaixo o código que esta na URL
      <style> .lateral{width:160px; height:98%; overflow: auto; position:fixed; top:0; float:left;background:#C1C1C1;} .direita{max-width:300px; background-color:#EBEBEB; float:left; margin-left:200px; } .b1{margin-top:500px; margin-bottom:500px; display:block;} </style> ...
      <div class="lateral"> <b class="b1">...</b> <a href="zzz4_memorizar-posicao-final-do-scroll-ao-carregar-a-pagina1.php" >pagina1</a> <b class="b1">... </b> <a href="zzz4_memorizar-posicao-final-do-scroll-ao-carregar-a-pagina2.php" >pagina2</a> <b class="b1">...</b> </div> <div class="direita"> voce estar na pagina 1 </div> <!--------------------------------------------------> <div class="lateral"> <b class="b1">...</b> <a href="zzz4_memorizar-posicao-final-do-scroll-ao-carregar-a-pagina1.php" >pagina1</a> <b class="b1">... </b> <a href="zzz4_memorizar-posicao-final-do-scroll-ao-carregar-a-pagina2.php" >pagina2</a> <b class="b1">...</b> </div> <div class="direita"> voce estar na pagina 2 </div> ...
      let sidebar = document.querySelector(".lateral"); //var sidebar = document.querySelector(".lateral").scrollTop; let top = localStorage.getItem("sidebar-scroll"); if (top !== null) { sidebar.scrollTop = parseInt(top, 10); //sidebar = parseInt(top, 10); } // beforeunload onbeforeload window.addEventListener("beforeunload", () => { localStorage.setItem("sidebar-scroll", sidebar.scrollTop); //localStorage.setItem("sidebar-scroll", sidebar); });  
    • By Biel.
      Olá pessoal. Direto ao ponto. Nesta URL temos dois input type="radio" e alguns links.  Gostaria que ao clicar em um link qualquer o input type=""radio que marquei continuasse marcado . Segue o código que está na URL . Obrigado !
      <style> .box1{ margin-bottom:10px; } .tete_label{ cursor:pointer; } .box2{ display:none; } input:checked ~ .box2{ display:block; } </style> <div class="box1"> <input type="radio" name="item" id="1" /> <label for="1" class="tete_label" >Cores</label> <div class="box2"> <a href="19_5a.php">verde</a><br> <a href="19_5b.php">azul</a><br> <a href="19_5c.php">violeta</a><br> </div> </div> <!-- ------------------------------------------------ --> <div class="box1"> <input type="radio" name="item" id="2" /> <label for="2" class="tete_label" >Carros</label> <div class="box2"> <a href="19_6a.php">fiat</a><br> <a href="19_6b.php">palio</a><br> <a href="19_6c.php">corsa</a><br> </div> </div> ...
      <script> var teste1 = document.getElementById('1').checked=true; function func_1(){ } </script>  
    • By Biel.
      Olá pessoal. Direto ao ponto. Ao clicar no link o valor 200 aparece e some.  Gostaria que aparecesse e permanecesse. Quero muito resolver a tarefa abaixo somente com javascript sem php .  
      <a href="pagina1.php" onClick="func_1()">link</a><br><br> <p id="p1"></p> <script> function func_1(){ var x = 200; document.getElementById('p1').innerHTML = x; } </script>  
    • By Biel.
      Olá pessoal . Direto ao ponto. Abaixo temos EX1 e EX2. 
      Ex1 mesmo atualizando a página(f5) o valor green permanece.
      Ex2 também gostaria que mesmo atualizando a página(f5) o valor fiat permanecesse. Lembrando que Ex2 tem uma função e um botão. Obrigado !
      EX1 localStorage.setItem('color', 'green'); var tete = localStorage.getItem('color'); console.log(tete); //============================================= EX2 <button onclick="func_1()">botão</button> function func_1(){ localStorage.setItem('carro', 'fiat'); var tete = localStorage.getItem('carro'); console.log(tete); //document.onchange=tete; }  
    • By Biel.
      Olá pessoal. Quero fazer o seguinte:
       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.