2010-04-07 113 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不是出于任何原因的选项,你可以做的是创建第二个隐藏表单,它负责实际发布。当您提交可见表单时,您可以将实际需要提交的值复制到隐藏的版本中,然后以编程方式将其发布。