別の質問があります。ajaxと、ページのリロード/リダイレクトなしでチェックボックスフォームからデータを送信する方法についてです。次のコードがあります。これがマークアップです。
<html>
<head>
<title>guild</title>
</head>
<body>
<div id="dive">
<form method="post" action="">
<input type="checkbox" name="userList[]" value="together" />together<br />
<input type="checkbox" name="userList[]" value="we" />we<br />
<input type="checkbox" name="userList[]" value="made" />made<br />
<input type="checkbox" name="userList[]" value="it" />it<br />
<input type="submit" id="submit" value="yeah we did it!" />
</form>
</div>
and here's the jquery:
<script type="text/javascript" src="jquery-1.8.0.min (1).js"></script>
<script type="text/javascript">
$(document).ready(function(){
//when the button is clicked
$("#submit").click(function(){
//put the checked data into an array
var userList= $('#dive input[type=checkbox]:checked').serializeArray();
//send the data without page reload/refresh/redirect
$.post("guild.php", {userList: userList},function(userList)
{
});
});
});
</script>
</body>
</html>
したがって、チェックされたデータは、ファイルに書き込むphpファイルに送信されることになっています。スクリプトは次のとおりです。
<?php
//get sent data
$userList=$_POST['userList'];
//open file to be written to
$fp=fopen("guild.html", 'a');
//write data into file
for($i=0;$i<sizeof($userList);$i++)
{
fwrite($fp, "<div class='gn'>."userList[$i]"."<br>"."</div>");
}
//close file
fclose($fp);
?>
これは非常に単純な質問であることは知っていますが、他の回答を読んだ後でも、それを機能させることはできません。チェックしたデータを文字列ではなく配列の形式で送信する必要があります。では、jqueryの部分をどのように変更して機能させるのでしょうか?助けてくれてありがとう、私は非常に初心者です!