jQueryで「便利なボタン」を作っています。質問の回答(stackoverflow上のupvote関数のように)。複数の便利なボタンが同じページにあります
function submitForm() {
\t var form = document.myform;
\t var dataString = $(form).serialize();
\t
\t $.ajax({
\t \t type:'POST',
url:'like_submit.php',
data: dataString,
success: function(data){
\t $('#myResponse').html(data);
\t $('#myResponse').fadeIn().delay(3000).fadeOut();
}
});
return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" class="myform" method="post" name="myform">
\t Was this 1. answer helpful?
<input type="hidden" name="answer_id" value="1" />
<input class="label__checkbox" type="checkbox" name="helpful" onclick="submitForm()" />
</form>
<div id="myResponse"></div>
like_submit.phpはこのようなものです:それは働く1つの答えのためにそう
<?php
$helpful = $_POST['helpful'];
$answer_id = $_POST['answer_id'];
echo "Thank you! Helpful? $helpful | AnswerID: $answer_id";
?>
。
しかし、今では複数の回答を追加したいと思いますが、このケースでスクリプトがどのように機能するのかわかりません。
私は2番目のフォーム...
<form id="myform" class="myform" method="post" name="myform">
Was this 2. answer helpful?
<input type="hidden" name="answer_id" value="2" />
<input class="label__checkbox" type="checkbox" name="helpful" onclick="submitForm()" />
</form>
<div id="myResponse"></div>
を追加した場合...私は2つの問題を抱えています。私は最後のPOSTデータを取得するだけです。私が最初のフォームをクリックすると、それは言う: ありがとう!役に立った?オン|応答ID:2
第2の問題は、応答メッセージが常に最初の位置に表示されることです。
誰でも手助けできますか?どうもありがとう!
:
onclick="submitForm(this)"
JSをID ...あなたの#myForm d #myResponseは、あなたのやりたいことがあれば、あなたのページに複数回表示されます。これはちょうど大きなNO-NOです。あなたはクラスを使いたいでしょう、IDは一意でなければなりません。 – Salketer
ありがとう、良いヒント@Salketer – Bazi