2010-04-07 51 views
1

在用戶交互之後,我需要在提交之前從HTML表單中刪除某些輸入參數。使用javascript從DOM中刪除輸入字段似乎並不實際刪除通過請求發送的參數。從表單請求中刪除參數

有沒有辦法刪除或清除實際的請求參數?

+0

你能否提供一個代碼示例,顯示哪些元素以及如何刪除? – DVK 2010-04-07 19:27:46

+5

我會說你的JS有些問題。一旦輸入字段被刪除,它就不會被髮送到服務器。 – dusoft 2010-04-07 19:28:08

回答

3

您可以禁用它們。

formElement.disabled = true; 
+0

+1。我可以驗證在表單實際提交之前禁用元素的工作是否按預期工作。我甚至在被禁用的元素中仍然有值,所以發佈的數據肯定不包含禁用的元素。 – Nitrodist 2010-04-07 20:17:54

+0

這是否與輸入類型=隱藏? – 2014-10-01 16:53:25

+0

@KatLimRuiz你的意思是隱藏和禁用?或者你的意思是簡單地隱藏它而不是禁用它的工作?隱藏它不會產生與禁用它相同的行爲。但是,如果它是隱藏的和禁用的,則發佈數據將不包含該元素。 – 2014-10-02 17:48:47

1

我不知道我是否正確地跟蹤您的問題。但是我讀到它的方式是,你在表單中有一組字段,當你提交時,你依賴的是本地表單發佈行爲,它將所有字段放入帖子中。

我最初的反應是使用Ajax自己創建帖子。然後,您可以完全控制傳遞的值和留下的內容。這就是說,如果Ajax不是出於任何原因的選項,你可以做的是創建第二個隱藏表單,它負責實際發佈。當您提交可見表單時,您可以將實際需要提交的值複製到隱藏的版本中,然後以編程方式將其發佈。