如何使用复选框隐藏部分字段?
如何在 Visualforce 页面中使用复选框隐藏字段的一部分?
How to hide a section of fields using a checkbox in visualforce pages?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在 Visualforce 页面中使用复选框隐藏字段的一部分?
How to hide a section of fields using a checkbox in visualforce pages?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
假设 Salesforce 方法(保持页面重量较低等),您可以执行如下操作:
请注意,我不在输出面板本身上使用
rendered
属性,这是因为如果它是未呈现,则它不存在于页面中,因此,不能成为良好的重新呈现
目标!现在您只需要在控制器上执行一个简单的操作(如果需要,您可以在此处执行任何其他逻辑):与使用 javascript 相比,以这种方式执行操作的好处是,您可以确保如果字段被隐藏,则值不会将它们发送回控制器以获取它们所绑定的变量。简单地使用 javascript 隐藏内容不会产生相同的效果,因此假设用户在其中一个字段中输入了一些内容,然后隐藏它们,无论他/她输入什么,最终仍然会出现在相关的控制器变量中。
Assuming the Salesforce approach (keeping the page weight down etc.), you could do something like the following:
Note that I don't use the
rendered
attribute on the output panel itself, this is because if it's not rendered then it doesn't exist in the page, and as such, doesn't make for a goodrerender
target! Now you just require a simple action on the controller (you could do any other logic in here if need be):The benefit of doing things this way, as opposed to with javascript is that you can ensure that if the fields are hidden then values won't be sent back to the controller for the variables they're bound to. Simply hiding things with javascript would not have the same effect, so say the user typed something in one of the fields and then hid them, whatever he/she typed would still end up in the related controller variables.