0

私のPHPページ

<ul id="upvote-the-image">
<li><a href="javascript:return false;" rel="50" id="upvote">Upvote</a><img src="image.png" /></li>
</ul>​

現在、変数をjavascriptに正常に送信しています

$("#upvote").each(function(index) {
var upthis = $(this).attr("rel");
var plusone = upthis;
$.post("upvote.php", {
    'plusone': plusone
});
alert(plusone);
});​

(コード内のアラートはテスト用です) rel タグを使用した複数の画像があります。新しいページをロードせずに、それぞれが賛成票を投じられ、ページで賛成票を投じられたことを示すことができるようにしたいと思います。

私の質問と問題: 次のステップは何ですか? upvote.php に値を送信する方法を知りたいだけです。mysqlを使用してupvote.phpに値を送信する方法や、JavaScriptコードがページを正しく開いている場合でも、upvote.phpを追加する方法は知っています。

ありがとう

4

3 に答える 3

0

I think you need something like this:

<ul id="upvote-the-image">
    <li><span rel="50" id="upvote">Upvote</span><img src="image.png" /></li>
</ul>​
<span id="result"></span>

$("#upvote").click(function(index) {
  var upthis = $(this).attr("rel");
  var oOptions = {
url:    upvote.php, //the receiving data page
    data: upthis, //the data to the server
    complete: function() { $('#result').text('Thanks!') }  //the result on the page
  };
  $.ajax(oOptions);
}

You dont need an anchor, I changed it for a span, you can test asyc connection using F12 in your browser

于 2012-06-27T23:53:12.777 に答える
0

あなたのjavascriptはphpページを開くことはなく、データを送信するだけで、応答とともにhttpヘッダーを受け取ります。PHP スクリプトは$_POST['plusone']、データベース処理を監視し、それに応じて処理する必要があります。次のステップは、関数内にコールバックを記述すること$.postです。これは、学習中に完全な ajax 関数に変更することをお勧めします。これにより、何が起こっているのかをすべて理解して確認するのが簡単になります。

$.ajax({
type: 'POST',
url: "upvote.php",
data: {'plusone': plusone},
success: function(IDofSelectedImg){
    //function to increment the rel value in the image that was clicked
      $(IDofSelectedImg).attr("rel")= upthis +1;
      },

});

各 img 要素を選択し、その ID を php スクリプトに送信するには、一意の識別子が必要です。id の代わりにクラスを追加し、id をupvote、rel 値をインクリメントする必要があるときに jquery でターゲットにできる一意に識別可能な番号にします。(見た目から、古い値の代わりに rel 属性の値をデータベースに入れているように見えます。)

于 2012-06-28T00:01:29.833 に答える
0

JQuery の優れたプログラミングのヒントです。次のことはしないでください。

<a href="javascript:return false;"

代わりに次のようにします。

$(function(){
    $('#upvote').on('click', function(event){
        event.preventDefault();
        $.post('upvote.php', {'plusone': $(this).attr('rel')}, function(data){
          alert('done and upvoted');
        });
    });
});

これは、DOM ドキュメントのリンクを処理するためのはるかに優れた方法です。

以下は、私が使用しているコーディングについて読むための Doc ページです。

それらは私のコードをあなたに説明します。

それが役に立てば幸い、

于 2012-06-28T20:36:55.397 に答える