2012-05-27 66 views
4

我使用ExpressionEngine和撬鎖與阿賈克斯一起被忽略。如何操作窗體/輸入時表單提交

盡我所能告訴,竊賊將只允許用於更新在時間的單個條目。但是,UI/UX需要顯示列表。我已經通過輸入按需表單的概念證明了這一點。也就是說,點擊每個條目旁邊的特定編輯鏈接,jquery的片段會創建一個表單並顯示一個提交按鈕。點擊提交,然後單個條目更新。在點擊更新鏈接之前,輸入不存在

如果可能的話,我希望做的事情是在頁面被重新編碼時創建每個條目的非表單和表單版本,並使用某種類型的切換顯示一個或另一個。再次,可行。然後,當我單擊編輯鏈接時,我會將必要的屬性添加到輸入中,以便可以讀取條目的表單元素,但其他條目的其他(display:none)元素將被忽略。我在想(大聲說)如果我添加可以工作的attr(「name」,某個值)。也就是說,沒有名字的輸入將被忽略。

是的,我可以測試這個,我會的。但是,即使它起作用,我也不確定這是否是最佳做法,並且/或者有更完美的方法來實現我的目標。我在這裏尋找驗證和/或額外的專業知識和投入。

在此先感謝。

回答

10

只需設置disabled財產投入,他們將排除表單提交,無論輸入字段hiddenvisible。不同的jQuery方法(如submit()serialize())遵循HTML 4的規範並排除表單的所有禁用控件。因此,一個方法是設置

$('your_input').prop('disabled', true); 

,或者

$('your_input').attr('disabled', 'disabled'); 

檢查以下鏈接:

http://www.w3.org/TR/html401/interact/forms.html#successful-controls

此外,您還可以使用一般的button而不是submit,因此你可以處理它上的點擊​​事件,並在該事件中你可以做出e包含,驗證,對值的操作以及您喜歡什麼。

+0

感謝鏈接上的額外細節。大的幫助。 –

2

你可以把一個disabled屬性對他們的服務器端或將通過jQuery屬性:

$(".hidden input").prop("disabled", true); 
相關問題