2013-02-19 53 views
14

我有一個包含大量表單的頁面,用戶將在該頁面上選擇一些內容。當用戶這樣做時,我需要將該元素放置在其他地方,非常像購物車。但我似乎無法獲得比網頁上的第一個表單更多的實際工作。 我已經試過許多東西:如果提交任何表單,如何檢查jQuery?

  1. 給所有形式相同的ID,這不僅造成第一種形式來充當我想,給我這種形式的數據。
  2. 再次給他們所有相同的ID,這次爲ID添加一個唯一的標識符,但當然,那麼我的jQuery $('#something')不會捕獲它,因爲它不匹配。

因此,我正在考慮如何去做這件事。我只需要從頁面上提交的表單中接收數據。正如所提到的,我可以給他們一個像我現在這樣的前綴,但我不知道如何匹配它。

幫助將大大appriciated!

的要求(僅一個例子來說明我的意思,當然)的某些代碼:

的HTML:

<form id="something-0"><input type="hidden" value="0"><input type="submit"></form> 
<form id="something-1"><input type="hidden" value="1"><input type="submit"></form> 

jQuery的:

$("#something-%").submit(function(e) { 
e.preventDefault(); 
$("#some-span").html(data); 
}); 

我想#接受「 - 」之後的任何東西,我希望你能理解。

+1

請顯示一些代碼。 – Wez 2013-02-19 23:21:50

+1

我們可以得到一個小提琴的例子嗎? – dibs 2013-02-19 23:21:59

+0

代碼將不勝感激 – PlantTheIdea 2013-02-19 23:22:14

回答

23

作爲一般的回答,給一組元素進行分類,使用class屬性,給每個元件相同的類名。然後您可以選擇該類的元素。一個元素可以有多個類。

$(".something"); 

如果必須使用的ID,你可以使用屬性選擇:

$("[id^='something']"); // all elements with an id beginning with 'something' 
$("[id$='something']"); // all elements with an id ending with 'something' 

對於這個特定的問題,因爲你想表演的頁面中的任何形式,最簡單的選擇將是使用該元素的名稱選擇:

$("form"); 

不管選擇的,可以識別哪些形式提交submit()小時內引用this安德勒:

$("form").submit(function (e) { 
    e.preventDefault(); 
    var formId = this.id; // "this" is a reference to the submitted form 
}); 
+0

太棒了,這工作完美!謝謝! – Lozzano 2013-02-19 23:48:41

6

您可以使用選擇器'form'捕獲所有表單,例如,

$("form").submit(function() { 
    var theForm = $(this); 
    var formID = theForm.attr("id"); 
    // do something 
}); 
+0

你忘記報價了嗎? '$(「表格」)' – gilly3 2013-02-19 23:24:58

+0

當然可以!哎呦! – devrooms 2013-02-19 23:25:53