我正在做三件事:
我正在使用此表格发送信息。
<form method="post" id="myForm" action="includes/functions.php">
<input type="hidden" name="group_id" value="$group_id" />
<input type="hidden" name="submit_join"/>
<button class="request" id="sub" name="submit_join">Join</button>
</form>
这个 jQuery 脚本运行一个 PHP 脚本。
$("#sub").click(function() {
$.post( $("#myForm").attr("action"),
$("#myForm :input").serializeArray(),
function(){ $("#sub").html("Applied").fadeIn().addClass("applied").removeClass("request");
});
});
$("#myForm").submit(function() {
return false;
});
这就是 PHP 脚本的作用。(不是准备好的声明)
if (isset($_POST['submit_join'])) {
//User ID
$user_id = $_SESSION['user_id'];
$group_id = $_POST['group_id'];
$sql="INSERT INTO group_assoc (user_id, group_id, permission, dateTime) VALUES ('$user_id', '$group_id', 0, now())";
if (!mysqli_query($connection, $sql)) {
die('Error: ' . mysqli_error($connection));
}
}
- 当有人单击按钮一次时,它工作得很好。
- 它触发 jQuery 脚本
- jQuery 脚本触发 PHP 脚本
- PHP 完成了它的工作
- jQuery 删除类“请求”并放置一个类“应用”
问题: 当同一个用户单击另一个按钮(意味着他们刚刚单击的按钮的副本)时,页面会忽略 jQuery 脚本并执行通常会执行的操作,刷新页面。这是不需要的过程。
为什么有几个表格,因此为什么有几个按钮?我正在为网站中的每个组执行 PHP while 循环,每个表单都包含一个按钮(加入),允许您加入组并使用上面的 jQuery 脚本更改数据库上的值。
问题:如何重新绑定 jQuery 脚本,以便在单击另一个按钮 ( <button class="request" id="sub" name="submit_join">Join</button>
) 时不会忽略 jQuery 脚本?