防止表单中的值传递

Posted

技术标签:

【中文标题】防止表单中的值传递【英文标题】:prevent values in form from passing 【发布时间】:2010-09-25 19:21:42 【问题描述】:

我的表单中有 4 个<select></select> 元素。通常在提交表单时,您会在 url 中得到这个,例如

index.html?day=01&month=01&year=1999&reporter=Joe+Blogs

但是,在我的界面中,用户正在日​​期选择器和人员选择器之间切换。 是否可以只发送处于活动状态的选择上的值?

[我开始写这篇文章是为了发给你们,但后来我想到并检查了表单元素的禁用属性 - 所以本着堆栈溢出的精神,我也输入了自己的答案]

【问题讨论】:

【参考方案1】:

在 jQuery 中使用 .attr("disabled","disabled")。

【讨论】:

【参考方案2】:

您可以将日期选择器和名称选择放在单独的表单中(可能使用单独的“Action=...”)。

简单,适用于任何浏览器。

【讨论】:

【参考方案3】:

是的 - 在我这样做之后,我意识到我为非 js 用户创建的问题。我做了一个“待办事项”,把它分成两种形式。我认为通过打开和关闭不同的字段集(尝试使用正确的标记)我很聪明,但后来,是的,把它塞进去了。 哦,好吧,至少我了解了 disabled 以及如何在 jQuery 中操作它......

【讨论】:

【参考方案4】:

为什么你在 javascript 中禁用它呢?

无论如何,您都应该做出服务器端决定,如果服务器同时获取人员和日期参数怎么办(例如,禁用 javascript 或仅阻止 jquery 的人......)

【讨论】:

【参考方案5】:

我宁愿将控件传递给服务器端以进行任何类型的验证。

【讨论】:

以上是关于防止表单中的值传递的主要内容,如果未能解决你的问题,请参考以下文章

将 Oracle 10g 中的值从表单 1 传递到表单 2 并将另一个值从表单 2 返回到表单 1 是不是可能

如何防止在表单提交中传递空白UTM值?

双击datagridview中的行并获取特定单元格的值并将其传递给另一个表单

第002弹:Java 中的值传递和引用传递

将 Laravel 中的表单值传递给 Blade 模板

将表单值传递给更新查询而不更新表中的空白字段