データベースからコンテンツのリストをエコーアウトしており、各アイテムの横に星のアイコンがあります。ユーザーが星をクリックすると、データベースでそのコンテンツが見つかり、そのフィールドの「人気」の値(「いいね」ボタン)が変更されるようにしようとしました。私は、各スターをタグでラップし、各フォームのIDを「formWithId」x ...... xが表示されているコンテンツのIDにすることで、これを実行しようとしています。
ここにコードがあります:
echo "<form method = 'post' class ='formId".$row['id']."' id = 'likePostWithId".$row['id']."'>";
//all inputs are hidden and send the 'id' value of the content so the php file will know which field of the table to like in the mysql database
echo "<input type ='text' name = 'email' style = 'display: none;' value= '".$row['email']."' >
<input type ='text' name = 'id' style = 'display: none;' value= '".$row['id']."' >
//this is the star icon
<i class = 'ss-icon' id = '".$row['id']."'>⋆ </i>";
echo "</form>";
だから、今私が必要としているのは、jquery validate を使用してフォームを送信できるようにすることです....しかし、私が抱えている問題は、私が常に jquery 検証を (送信ハンドラーを使用して) 使用して、ID が事前定義されている特定のフォームを送信していることです。データベースから送信されたコンテンツの ID に基づいて変更しないでください。
ここに私がしようとしている私の例があります
$(document).ready(function(){
$(".ss-icon").click(function(){
var id= $(this).attr('id');
$("#likePostWithId"+id).submit();
});
});
$(function(){
$(".ss-icon").click(function(){
//this doesn't work...
$("#likePostWithId").validate({
submitHandler:function(data){
//do stuff
}
)};
)};
どこを参照してください$("#likePostWithId")
...正しいIDを持つものを選択する方法がわかりません(例)、または番号がmysqlコンテンツのIDである$("#likePostWithId"+id)
と解釈されます#likePostWithId6
$likePostWithId7
とにかく、これがあなたに明確になるかどうかはわかりません...この質問の仕方がよくわかりません..しかし、基本的には、id(mysqlからのコンテンツのid)をphpフォームに送信する必要がありますページをリロードせずに
どんな助けでも大歓迎です。
ありがとう