2015-08-24 4 views
0

Je souhaite attribuer une valeur de variable javascript à une variable php. Je suis nouveau à cela et ne parvient pas à atteindre la même chose. Ci-dessous est mon code:Affecter une variable Javascript à une variable php sur la même page

<script type="text/javascript"> 
    function foo(sampleValue) 
    { 
     var table = document.getElementById('mytable'); 
     var answer = table.rows[sampleValue].cells[1].innerText; 
     alert (answer); 
     window.location.href = "show.php?w1=" + answer; 
    } 
</script> 

<?php 
    if(isset($_POST['shwData'])) 
    { 
     if(isset($_GET['w1'])) 
     { 
      echo "this is it"; 
     } 
    } 
?> 
+4

vous ne pouvez pas. javascript s'exécute sur le client, php s'exécute sur le serveur. Si vous voulez que JS "configure" quelque chose en php, vous devrez le renvoyer au serveur, généralement par ajax. –

+0

@MarcB est sur un jet –

+0

Pouvez-vous fournir un extrait de code pour le même? – Coder157

Répondre

2

Avez-vous essayé d'omettre la première condition if?

if(isset($_GET['w1'])) { 
    echo "this is it"; 
} 

BTW: Bien sûr, vous pouvez "passer une variable d'un javascript à un script php". Cela doit être fait via une demande supplémentaire. Tout comme vous l'avez expliqué avec window.location.href = "show.php?w1=" + answer;. C'est définitivement une option. En fonction de ce que vous voulez obtenir avec cette valeur, et pourquoi, à ce moment-là, vous pourriez envisager d'utiliser AJAX. Envoyez simplement une requête au serveur, s'il doit effectuer une action avec un tableau donné de (post-) données.

+0

J'ai essayé sans la première condition, mais cela n'a pas fonctionné. – Coder157

+1

Que vérifiez-vous avec la première condition? Si vous vous déplacez avec javascript alors vous n'êtes pas "posté" donc aucune valeur "POST" ne sera définie. Seules vos valeurs '' GET'' seront reçues de cette façon. Pour envoyer des valeurs via '' POST'' vous devrez soumettre un formulaire ou utiliser AJAX. Suppression de la première condition _should_ résoudre le problème. – Vic

0
You can do something like this: 

<script type="text/javascript"> 
    function foo(sampleValue) 
    { 
     var table = document.getElementById('mytable'); 
     var answer = table.rows[sampleValue].cells[0].innerHTML; 

     alert (answer); 
     window.location.href = "show.php?w1=" + answer; 
    } 


</script> 
<table id="mytable"> 
    <tr> 
     <td>my cell</td> 
    </tr> 
</table> 

<button onclick="foo(0)">Click me</button> 

<?php 
     if(isset($_GET['w1'])) 
     { 
      echo "this is it"; 
     } 

?>