我有一套其中我在點擊提交HTML表單鏈接具有id爲「給ajaxForm」jQuery的防止各種形式的一次提交
for ($year = 2008; $year <= intval(date('Y')); $year++) {
if ($year == $currentYear)
continue;
echo '<div style="float:right;padding-right:20px;"><form name="year' . $year . 'Form1" id= "ajaxForm" action="/managementDashboard#visibleTab-5" method="post"><input name="getRecordsFor" type="hidden" value="' . $year . '"><a id="buttonRed" href="javascript:document.year' . $year . 'Form1.submit();">' . $year . '</a></form></div>' . chr(10);
}
然而,而不是默認提交使用jQuery發佈與此數據:
jQuery("form#ajaxForm").click(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* Send the data using post and put the results in a div */
jQuery.post('/ajaxFunctions?mgmtDbrdPge=5', jQuery("#ajaxForm").serialize(),
function(data) {
jQuery("#visibleTab-5").empty().append(data);
}
);
});
問題是,它提交所有的形式,而不是我單獨的個人。有沒有一種方法可以防止這種情況,而不必爲每個單獨的表單編寫jQuery鏈接?
更新 - 我接受了其中一個答案,因爲他的方法是合法的,但我意識到我的問題是什麼。而不是jQuery(「#ajaxForm」)。serialize(),我應該把它寫成jQuery(this).serialize()來調用點擊提交的數據,而不是使用該id的所有表單。
你不能有與頁面上的多個元素相同的ID。嘗試首先解決問題,看看你的問題是否會消失。 – MrOBrian
HTML標記循環在echo語句中。問題是我使用該ID來提交表單。那麼我需要爲每個表單執行相同的jQuery代碼嗎?有沒有更短的路? – wiseman7687