私の質問には悪いコードが含まれています。動作しますが、面倒です。とにかく、実験目的のためだけです。ユーザーがボタンをクリックすると、ボタンに関連付けられたオブジェクト ID が送信されます。スクリプトを ajax 経由で実行すると、mysql テーブルがユーザーのようなデータ (オブジェクト ID) で更新されます。これを行うには、php を使用してオブジェクトをエコーアウトする必要があり、次のように JavaScript 関数が添付されたいいねボタンを使用する必要がありました。
for($i=0;$i<count($tempest);$i++)
{echo "<div class='posts'>
\"".$row2['screen_name']."\"
<img src=\"".$row2['avatar']."\" width=50 height=50/><br>
added a new page to the magic title
\"".$row3['magic_name']."\"
<br>
<img src=\"".$row1['p_name']."\">
<div id=\"".$i."\">
<a href='Javascript:penda(\"".$wholei."\",\"".$i."\")'> //this is the javascript function
<img name='mpe' src='images/like_outline.png'> //this is the like button
</a></div>
</div>";
}
HTMLをエコーアウトするのはw =ただ間違っていることは知っていますが、私が言ったように、jqueryバージョン1.8.3を使用してajaxリクエストを実行する場合、それはただの楽しみです:
function penda(item, itid) {
itid = itid + "";
$.ajax({
type: "POST",
url: "kumbatian.php",
data: {
penzi: item
},
success: function (ful) {
if (ful == 'win') document.getElementById('win').innerHTML += "YOU WIN!!";
}
});
document.getElementById(itid).innerHTML = "<a href='unlike()'><img src='images/like.png' /></a>";
}
次のエラーが発生します。私はクロムを使用しています:Uncaught RangeError:最大コールスタックサイズを超えました。これは、エコーされている「いいね」の数が関数 penda に添付される数が多かったことを意味していると思います。配列の $tempest は 6 なので、ボタンのようなものは 6 つあります。jquery バージョン 1.9.0 にアップグレードしたとき、そのようなエラーは発生せず、すべて正常に動作したので、これが私の質問です: 1.) バージョン 1.9 で同じエラーが発生するには、上記の形式でエコーする必要があるボタンの数.0? 2.) 私が経験したエラーを回避するために、ボタンのようなものを関数 penda() にアタッチするより良い方法はありますか?
編集: 要求に応じて、HTML 出力は次のとおりです。
<div id="0"><a href="Javasctipt:penda("mna4","0")"> <img name="mpe" src="images/like_outline.png"> </a></div>
<div id="1"><a href="Javasctipt:penda("mna4","1")"> <img name="mpe" src="images/like_outline.png"> </a></div>
<div id="2"><a href="Javasctipt:penda("mna4","2")"> <img name="mpe" src="images/like_outline.png"> </a></div>
<div id="4"><a href="Javasctipt:penda("mna4","4")"> <img name="mpe" src="images/like_outline.png"> </a></div>
<div id="5"><a href="Javasctipt:penda("mna4","5")"> <img name="mpe" src="images/like_outline.png"> </a></div>
<div id="6"><a href="Javasctipt:penda("mna4","6")"> <img name="mpe" src="images/like_outline.png"> </a></div>
それでおしまい。