2011-08-09 10 views
0

を使用してリンクをクリックしてASPコードを実行します。まず、私がしたいことを説明しましょう。 私のウェブサイトには、クライアントが記事にコメントしたセクションがあり、そこで使用した+/- リンクを使ってコメントを評価することができます。ユーザーがコメントを評価したとき、そのユーザーはそのコメントをもう評価できません。 私は上記の問題のためのASPの古典的なコードを書いた瞬間、それは少し遅いです。ユーザーがリンクをクリックすると、ページを再読み込みして投票を追加する必要があるためです。JavaScriptコード

これは私の質問です: +または - をクリックした後、Reloadページを防ぐためにそのaspコードの背後にあるAjaxコードを使用したいと思います。このような 何かユーザーはまだ

<a onclick='rateup("Comment_ID","user_ID") style="cursor:pointer"> <b> + </b> </a> 

を投票して、ユーザーがすでに評価したときに、このように更新されていない::)もう一度

<a onclick='alert("You have Already Rated This Comment")' style='cursor:not-allowed;'><span> > + </span></a> 

を私はASPコードでやったが、AJAXをしたいです

+1

あなたはjQueryのに精通していますか?あなたはそれを使用できますか? –

+0

私は使い慣れていませんが、私はそれを使うことができます。 w3schoolでそれを学ぼうとしています – mhesabi

+0

ulluoinkは正しい答えを出してくれました。あなた自身がやってみるとうまくいけば、彼は必要な場合にこれをガイドすることができます。 –

答えて

0

あなたのjavascript関数rateup()は、古典的なaspサイトへのajax呼び出しを行います。必要な機能を実装して、 "投票成功"のようなステータスを書き戻してください。あなたのjavascript関数でのonclickイベントを変更します。

このすべての場合、jQueryのようなjavascriptフレームワークを使用することをお勧めします。

サンプルコード(jQueryと従来のASP):

<script> 
function rateup(Comment_ID, user_ID) { 
    $.post("myAspSite.asp", {ajax: true, act:"rate", direction: "up"}, function(data) { 
     if(data === "") { 
      // here comes the code for changing the onclick o the <a> 
      $(#idOfClickedLink).click(function() { 
       alert("You have Already Rated This Comment") 
      }); 
     } 
    }); 
} 
</script> 

<% 
if request.form("ajax") = true then 
    ' we have an ajax call: 
    callback(request.form("act")) 
else 
    ' normal page processing 
    call main 
end if 

function callback(act) 
    select case act 
     case "voteup" 
      ' do the voteup stuff 
      response.write "" 
     case "votedown" 
      ' do the votedown stuff 
      response.write "" 
    end select 
end function 

' "normal" page:  
function main 

end function 
%> 
+0

あなたの時間のおかげでありがとう。それは役に立つと思われるが、悲しいことに私はjQueryに関する知識が少ない。私はそれを学ぶためにw3schoolの例を読んだ。あなたは、{ajax:true、act: "rate"、direction: "up"}、関数(data)のやっていることを私に説明してください。S – mhesabi

+0

@ user885899投稿リクエストのパラメータです。ポストを介して通常のHTMLフォームを提出するのと同じように。 http://api.jquery.com/jQuery.post/をご覧ください。 – ulluoink