2

我有多个隐藏的表单字段,它们存储有关当前视图的值(例如,如果某些,通常隐藏的 div 是可见的等),以在表单回发时恢复布局。

问题是我总是提交所有这些隐藏字段,即使它们是默认的,在这个过程中会产生很多不必要的 URL 混乱(例如http://www.example.com/view?ab=&ac=&ad=等等)。

我宁愿提交实际影响视图的字段(意思是,没有指定的默认值),以使 URL 混乱最小化。

我尝试手动删除/插入输入,但这是一场噩梦。有一个更好的方法吗?

4

3 回答 3

2

使用 jQuery,您可能只是remove()在传输之前的那些表单元素。我能想到的另一种方法是删除name attribute.

$('form').bind('submit', function(){
    $(this).children('input').each(function(){
        if(this.value === this.defaultValue)
           $(this).remove();
    });
});
于 2010-07-08T05:56:05.930 回答
1

尝试禁用它们-
“禁用的控件无法成功。” -- http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2

于 2010-07-08T05:44:13.090 回答
0

除非您有理由将这些选项保留在 URL 中,否则为什么不将这些值存储在 cookie 中呢?事实上,这通常在许多网站上完成。如果您想更加小心,可以将显示选项存储在每个用户的数据库中,但这是您的选择。

于 2010-07-08T05:48:42.500 回答