This is a heart with a wishlist, I want to add the product to my wishlist.
I have a syntax error in the console
Uncaught SyntaxError: expected expression, got '}'
Dreamweaver shows me no errors
JavaScript
x
<div>
<i id="id'. $result->id .'"
class="far fa-heart cart_heart"
onClick="add_to_wishlist("' . $result->id . '", "add")">
</i>
</div>
<script>
function add_to_wishlist(id) {
alert(id);
}
</script>
HTML output
JavaScript
<i id="id17254"
class="far fa-heart cart_heart"
onclick="add_to_wishlist(" 17254",="" "add")"="">
</i>
php output with html (need to ajax)
JavaScript
if(empty(h($result->id)))
{ }
else
{
$html .= '
<td width="30%"><label>Heart:</label></td>
<td width="70%">
<div>
<i id="id'. $result->id .'" class="far fa-heart cart_heart"
onClick="add_to_wishlist(' . $result->id . ', 'add')"></i>
</div>
</td>
</tr>
';
}
$html .= '</table></div>';
echo $html;
Advertisement
Answer
Not having clarity over the code, it is somewhat difficult to tell the main cause of the error, as according to the error you are getting is
Uncaught SyntaxError: expected expression, got '}'
There is a code of block that is ending with these curly braces }
Also, you need to escape characters to make your code work properly.
JavaScript
$r = 1; //I am assuming this for simplicity
$html ='
<div>
<i id="id'. $r .'" class="far fa-heart cart_heart"
onClick="add_to_wishlist('' . $r . '', 'add')"></i>
</div> ';
echo $html;
The above code produces this HTML code
JavaScript
<div>
<i id="id1"
class="far fa-heart cart_heart"
onclick="add_to_wishlist('1', 'add')">
</i>
</div>
You need to escape characters(‘) to work around single quotes(‘) that is in your PHP code.
JavaScript
onClick="add_to_wishlist('' . $r . '', 'add')"
Here adding '
helps in formatting parameters correctly.