チェックボックスの列を表示する HTML フォームを作成しています。送信をクリックすると、jQuery 関数によってイベントが取得されます。しかし、Firebug net パネルで関数を調べたところ、ボタンを 1 回クリックしただけでも関数が複数回起動することに気付きました。理由はありますか?
HTML:
echo "<form id='massHoursSubtraction'>";
echo "How many hours to subtract? <input type='text' name='hours'><br />";
$entries = 1;
while($row = mysql_fetch_array($members)) {
$studentID = $row['studentid'];
echo "<input type='checkbox' name='studentID[]' id='' value='$studentID'>$studentID";
echo "<br />";
$entries++;
}
echo "<input type='button' id='submitValues' value='Submit' onclick='javascript:getHours($entries);' />";
echo "</form>";
Javascript:
function getHours(numberOfEntries) {
$(document).ready(function() {
$("#submitValues").click(function(){
var str = $("#massHoursSubtraction").serialize();
alert("How many times?");
$.post("output.php", str);
});
});
}
これはFirebug ネット パネルのスクリーンショットです: http://imgur.com/Z83s5fr
これは$_POST
文字列です:hours=1&studentID%5B%5D=5112244