• 【原】display:none 和visible:false 的区别


    今天遇到一个需求,把原先表单上需要输入的一个项隐藏起来,考虑有2种方法:

    首先说一下页面布局,这个输入项是一个TextBox,放在一个Table里的一个TR下的TD里,所以可以对TR进行隐藏

    一种:把TR的display改为none

    另外一种:把TR的visible改为false

    经过测试,2种方法都可以隐藏里面的控件,但是稍有区别:

    像大多数网上其他文章说的那样,第一种仅仅是隐藏了控件,但是html代码依然生成,也就是我里面的textBox还是会生成input控件,而第二种就直接不生成html控件了。

    看到这里还没完,也许你会觉得以后遇到这个需求,采用那一种方法都没问题,但是我这里比较特殊,我的TextBox后面还有个验证控件,这个控件是原来用来验证用户必须输入这个项目的。现在如果采用第一种方法,会有这个问题:

    画面上看不到输入项,但是点击确定按钮始终看不到页面提交。

    产生这个问题的原因是:该验证控件并没有消失,只是被强制不显示了,导致用户也不知道哪里出了问题。

    如果采用第二种方法,就不存在这个问题,因为在html代码里根本没有产生这个验证控件,所以仍然是可以提交页面的。

    综上所述,如果你的代码中存在验证控件,建议还是采用第二种方法,除非你愿意频繁修改你的代码结构。

  • 相关阅读:
    把你的名字刻到IE上
    C#格式化字符串
    CEO、COO、CFO、CTO、CIO
    Net通用分页(可以选择页码的显示,且有中英选择)
    laravelmiddleware中间件常用使用方法
    laravel路由组中namespace的的用法详解
    qq自己设定动态图像视屏
    laravel实现excel表的导入导出功能
    git创建远程分支并推送
    jquery如何用Ajax将信息遍历到界面上
  • 原文地址:https://www.cnblogs.com/wbpmrck/p/1753783.html
Copyright © 2020-2023  润新知