0

I have a button with onclick function. It passes a variable $x into the java script. Shortly what i want to do is to pass the $x="aaa" to the javascript, and make the function to change this variable into lets say $x="bbb" without refreshing the website. So i would be able to click it all the time and the js could change the value of given variable. I mean the content variable going from button to javascript would be changed depending on js function code. This may sound complicated i am really sorry for that. Any ideas? (the code below i just made up because it would be to long to explain here all my code that is very long now)

<?php x = "aaa";  ?>

<button onClick="someFunction(<?php $x ?>)"></button>

<script> 
function someFunction (x){
//what can i do here to make this "aaa" string in variable change 
//into for example "bbb" on clicking it again?
}
</script>
UberProCoder
  • 33
  • 1
  • 7
  • 3
    possible duplicate of [How to pass JavaScript variables to PHP?](http://stackoverflow.com/questions/1917576/how-to-pass-javascript-variables-to-php) – Dave Aug 11 '15 at 21:22

3 Answers3

1

You can't change server side language value from client script

All you can do is to pass that php value to javascript

Like this

<button onClick="someFunction(<?php echo $x; ?>)"></button>

But you can do like it

Try like this

js

$.ajax({
  method: "GET",
  url: "some.php",
  data: { x: "John" }
})
  .done(function( msg ) {
    <?php x=$_COOKIE["X"]; ?>
});

some.php

$_COOKIE["X"]=$_GET["x"];

EDIT

How I can cut it off from button arguments

HTML

<button id="myButton" onclick="someFunction(<?php $x ?>)"></button>

JS

$("#myButton").on("click",function(){
    var onclick=$(this).attr("onclick");
    var str="Hellow world";
    var someFunction="someFunction('"+str+"')";
    $(this).attr("onclick",someFunction);
});
Anik Islam Abhi
  • 25,137
  • 8
  • 58
  • 80
0

With the above code in mind... Not knowing if it is specifically strings that you wish to manipulate with javascript but you can use php / a server side language to generate the variable value based upon whatever calculations you need and then use javascript to play with it on the client side.

<button onClick="someFunction()">Click me now to see what happens to x</button>


<script>
<?php echo "var x = 'a';";  ?>
function someFunction(){
    x=parseInt( x.charCodeAt(0) );
    x++;
    x=String.fromCharCode( x );
    alert(x)
}
</script>
Professor Abronsius
  • 33,063
  • 5
  • 32
  • 46
0

After research and other's help, this works :

//This gets the page's width on the first load
let sWidth = window.screen.width;

//This says : execute "myfunction" when "resize" event occurs
window.addEventListener("resize", myFunction);

//details of myFunction
function myFunction() {
    //first get the page's width again
    let sWidth = window.screen.width;

    //show me the page's width within console which is within inspect
    console.log(sWidth);

    //now this is for differentiating Mobile and Desktop version
    //which you can change the statement by need
    if (sWidth <= 576){
        console.log("Mobile version");
    }else{
        console.log("Desktop version");
    }
}