我的頁面頭部有一個基本的AJAX表單提交功能(從教程中被盜,因爲我無法從頭開始寫這些東西)。在我的頁面正文中,我有一堆隱藏輸入的表單,其值與我數據庫中的用戶標識相對應。AJAX多表單帖子
這個想法是,當你提交一個表單時,隱藏的值POST'd到我的PHP頁面,在那裏它從我的MySQL數據庫中刪除具有該id的用戶。這一切都非常簡單直接,可能有更高效的方式來做到這一點,但這是我能想到的唯一方法。
無論如何,問題是我的AJAX函數只適用於我的頁面中的第一個表單。當我提交表單時,用戶將從我的數據庫中刪除,頁面刷新並且特定表單消失。但是,如果您點擊頂部下方的任何表單,則什麼都不會發生。這裏是我的jQuery的功能:
<script type="text/javascript">
$(document).ready(function(){
$("#myform").validate({
debug: false,
rules: {
group: {required: true},
},
messages: {
group: {required: " Field required.", loginRegex: " Invalid character."},
},
submitHandler: function(form) {
$.post('process_delete_participant.php', $("#myform").serialize(), function(data) {
$('#results').html(data);
});
}
});
});
</script>
這裏還有什麼是在我的網頁正文:
<?php
$query = mysql_query('SELECT * FROM `Participant`');
if (!$query)
{
die('Query failure: '.mysql_error());
}
while($rows = mysql_fetch_array($query))
{
$fname = $rows['firstName'];
$sname = $rows['secondName'];
$id = $rows['idParticipant'];
echo "<form name='myform$id' id='myform$id' action='' method='POST'> ";
echo "<input type='hidden' name='idParticipant' id='$id' value='$id' />";
echo "$fname ";
echo "$sname ";
echo "<input type='submit' name='submit$id' id='submit$id' value='Delete' /> ";
echo "</form>";
echo "<br><br>";
}
?>
這樣的一種形式的例子可能是這個樣子:
<form name='myform61' id='myform61' action='' method='POST'>
<input type='hidden' name='idParticipant' id='61' value='61' />John Smith
<input type='submit' name='submit61' id='submit61' value='Delete' />
</form>
我可以想到爲什麼該函數僅適用於最頂層窗體的幾個原因,但我不知道要在函數的語法中編輯哪些內容才能解決問題。有人知道嗎?
順便說一聲ID必須以字母 – Thomas