Ich würde gerne vier Argumente übergeben, $ row ['title'], $ row ['username'] und $ row ['date'].Warum wird die folgende onclick-Funktion nicht ausgeführt?
<?php
echo "<script>
function increasevotes(e,location,user,date)
{
e.preventDefault();
console.log(\"Hi!\");
}
</script>";
//I've proper code here for fetching the mySQL query results into $rows and that part is working perfectly.
while($rows=mysqli_fetch_array($result))
{
if($rows['public']=="yes")
{echo "<span class=\"right\" id=\"nolikes\">{$rows['vote']}</span><a href=\"\" onclick=\"increasevotes(event,\"{$rows['title']}\",\"{$rows['username']}\",\"{$rows['date']}\")\"><img src=\"img/like.png\" class=\"right\" width=\"30\" height=\"30\"/></a>";
}
?>
Was eigentlich gemacht wird, wird stattdessen die Seite aktualisiert.
<span class="right" id="nolikes">0</span>
<a href="" onclick="increasevotes(event,"chennai","venkat","01/07/2017")"><img src="img/like.png" class="right" width="30" height="30"/>
</a>
wenn Sie eine console.log ('Skript läuft'); vor deiner Funktion wird es also laufen wenn die Seite geladen wird ... Siehst du die Nachricht? – TimBrownlaw
inspect Element, das Anker-Tag und Sie werden feststellen, warum es nicht funktioniert – Nagaraju
Ids müssen einzigartig – Andreas