【问题标题】:Is it possible not to pass some form fields in GET request?GET请求中是否可以不传递某些表单字段?
【发布时间】:2011-02-05 14:37:00
【问题描述】:

我有一个表单,其中包含一些在 GET 中传递的输入文本,我不想在 GET 中包含所有字段;我想避免空字段。

所以,一个具体的例子:

<form method="GET" action="an_url">
    <input type="text" name="field1"/>
    <input type="text" name="field2"/>
    <input type="text" name="field3"/>
    <input type="submit" value="submit"/>
</form>

我认为不应该将被 html 属性“禁用”禁用的字段传递给 GET。

所以我做了一个 js(基于 jquery)来禁用提交时的空字段,如下所示:

$("form").submit(function() {
    $(this).find("input[type=text]").each( function () {
        if (!$.trim($(this).val())) {
            $(this).attr("disabled", "true");
        }
    });
});

但是,这不起作用。有什么想法吗?

【问题讨论】:

    标签: jquery forms input submit


    【解决方案1】:

    disabled 属性接受一个且仅一个值:disabled。不允许将其设置为true

    (设置disabled 属性是另一回事,它可以是truefalse

    【讨论】:

      【解决方案2】:

      您可以像这样删除name 属性:

       $("form").submit(function() {
           $(this).find("input[type=text]").each( function () {
      
              if (!$.trim($(this).val())) {
                  $(this).removeAttr("name");
              }
           });
       });
      

      来自W3C Recommendation

      提交表单进行处理时,某些控件的名称与其当前值配对,并且这些对与表单一起提交。提交名称/值对的那些控件称为成功控件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-18
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        • 2018-06-10
        • 1970-01-01
        • 1970-01-01
        • 2018-12-15
        相关资源
        最近更新 更多