【问题标题】:remove params from form request从表单请求中删除参数
【发布时间】:2011-02-05 10:03:33
【问题描述】:

在用户交互时,我需要在提交之前从 HTML 表单中删除某些输入参数。使用 javascript 从 DOM 中删除输入字段似乎并没有真正删除通过请求发送的参数。

有没有办法删除或清除实际的请求参数?

【问题讨论】:

  • 您能否提供一个代码示例,说明您要删除哪些元素以及如何删除?
  • 我会说你的 JS 有问题。一旦输入字段被删除,它肯定不会发送到服务器。

标签: javascript html dom forms


【解决方案1】:

我不确定我是否完全按照您的问题。但是按照我的阅读方式,您在表单中有一组字段,当您提交时,您依赖于将所有字段放入帖子中的本机表单发布行为。

我最初的反应是自己发帖,使用 Ajax。然后,您可以完全控制传递的值和留下的值。

话虽如此,如果由于某种原因不能选择 Ajax,您可以做的是创建第二个隐藏表单,该表单负责实际发布。当您提交可见表单时,您可以将实际想要提交的值复制到隐藏版本,然后他们以编程方式发布该表单。

【讨论】:

    【解决方案2】:

    您可以禁用它们。

    formElement.disabled = true;
    

    【讨论】:

    • +1。我可以验证在实际提交表单之前禁用元素是否按预期工作。我什至在被禁用的元素中仍然有值,所以帖子数据肯定不包含被禁用的元素。
    • @KatLimRuiz 你的意思是结合隐藏和禁用?或者你的意思是简单地隐藏它而不是禁用它?隐藏它不会产生与禁用它相同的行为。但是,如果它同时被隐藏和禁用,则帖子数据将不包含该元素。
    • 不,我的意思是如果我有 并且在 js 中:myinput.disabled=true,该值是否仍在发送?
    • @KatLimRuiz 不,没有被禁用的元素被发送。
    • 这很有趣,这样我可以在隐藏的输入中从服务器向客户端发送数据,而不会收到返回的值。我一定会试一试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2014-09-06
    • 1970-01-01
    • 2016-09-30
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多