echo a javascript function with parameters in php

javascript, php

Solution

This is happening because you have quotes inside quotes. This will not work, and breaks the HTML parser. It is seeing the onclick as `removeElement(`, and then it sees an attribute called `div8")"`.

Try this:

echo '.....onclick="removeElement("div'.$x.'")"...';

HTML entities are parsed inside attributes, so the result will be your working code.

Problem

I am trying to pass a JavaScript function with an onclick event in php. The problem I am facing is that the function that I need to pass has a parameter that needs to be in double quotes as follows: ``` onclick="removeElement("div8")" ``` Now when I use JavaScript to generate the parameter it comes out fine, but whenever I use an echo function in php, the following happens when I look at the function in the browser ``` onclick="removeElement(" div8")" ``` the code I am using to generate this is: ``` echo '<div><img src="img.png" alt="image" onclick="removeElement("div'.$x.'")" /></div>'; ``` where $x is the number to be added to the parameter. Is there a way that the function is returned as a whole and not get the space in between?

Original source