如何隐藏表单中的选择值

时间:2015-03-17 09:09:14

标签: javascript html css angularjs

我有一个有选择下拉列表的表单。我默认禁用它,并会根据某些条件重新启用它。我不希望任何人在禁用时访问选择选项值(现在可以通过检查浏览器中的元素来查看)。我该如何保证安全?

5 个答案:

答案 0 :(得分:1)

我认为你不能。你可能最好不要在需要时填充它而不是启用它。你可以用Ajax调用来做到这一点。

答案 1 :(得分:1)

您需要使用ngIf指令。

  

ngIf指令根据{expression}删除或重新创建DOM树的一部分。如果分配给ngIf的表达式求值为false值,则从DOM中删除该元素,否则将元素的克隆重新插入DOM中。

用法

<select ng-if="someCondition"></select>

答案 2 :(得分:0)

如果使用像knockout.js这样的简单绑定库,则可以使用无容器绑定,只能在需要时呈现选择DOM。

Knockout是一个很棒的小库,可以很好地与大多数其他库一起使用,所以不应该造成任何麻烦,所有你要做的就是导入js文件。

无容器绑定只会在需要时呈现DOM,因此检查页面元素将不会显示选择框。

<!--ko if: IsShown -->
    <select>Render Me</select>
<!--/ko-->

这是一个简单的小提示,向您展示如何使其发挥作用。

Knockout Containerless Binding

答案 3 :(得分:0)

您可以避免渲染它,这会将其隐藏在DOM检查器中,但数据仍然在浏览器中,并且可供有意查看的人使用。

如果您不希望用户查看数据,请不要首先将其发送给客户。

如果要显示select元素,请向服务器发出Ajax请求。然后执行身份验证和授权以确保允许用户查看数据。然后在响应中返回它,让Angular使用该数据生成选择。

答案 4 :(得分:0)

无法隐藏用户在浏览器中查看部分代码,因为浏览器必须查看代码才能运行它,因此用户可以查看。但是,使用php可以帮助您仅在需要时为页面生成内容。我认为您可以使用这种方式为下拉列表或整个下拉列表生成内容。