如何防止输入值在表单中被提交
How to prevent input value to be submitted in form?
我有一个简单的WebForms
的ASP.Net Application
。有一些页面是用来插入和更新数据库中的记录的。
但是,在某些情况下,一些输入控件值不应该更新。因此,我设置了disabled
属性以防止用户更新值。但是,用户也可以从开发工具中启用它并直接更改值。
如果我使用javascript
从元素中删除name
属性,则该控件的值将不会在表单中提交,并且不会在服务器端受到影响(它完美地工作)。但是,如果用户重新分配相同的值(,即: 'ctl00$ContentPlaceHolder2$txtBranchCode'
)在name
属性中,那么输入框的值将再次提交(这不应该发生)。
代码:
<td align="left">
<input name="ctl00$ContentPlaceHolder2$txtBranchCode" type="text" value="HO"
id="ctl00_ContentPlaceHolder2_txtBranchCode">
</td>
现在,我想要的是,如果我可以防止在表单中提交元素值,那么我的问题可以很容易地解决。我不能在每个页面中添加条件"如果控件被禁用,那么它不应该被更新。"有很多页面,我必须在每一页做同样的工作。如果有共同的解决方案,那就更好了。
您不能信任客户端代码来控制数据库中的更新。您应该做的是编写一些服务器端代码来完成这项工作。客户端代码很容易被客户端操纵,你不能信任它。
在不应该更新输入控件值的情况下,不要通过设置Visible="false"
来呈现控件。
服务器端验证更安全,而客户端验证提供更好的用户体验,因此存在权衡。理想情况下,两者都应该适当,通过客户端验证提供更好的用户体验,并通过服务器端验证保护服务器资源和数据库。
相关文章:
- Jquery提交表单而不刷新
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 每次提交表单时都会重新加载网页
- Razor中的自动提交表单
- 使用 JavaScript 自动提交表单
- 点击相同的按钮打开模型,然后提交表单
- 添加和删除隐藏字段数组中的值,而不提交表单
- 使用Ajax提交表单
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 有登录表单时无法提交表单
- 带有select的jquery提交表单不起作用
- 如何防止回车键提交表单,但仍然允许回车工作
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 在提交表单之前确定重复值
- 如何创建动态ajax提交表单
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 提交表单后,Watir文本框输入未持续(重置为以前的文本框输入)