我在这个巨大的JSF页面上做了一些改动,这个页面也充满了Javascript。我不知道哪个改变会使问题发生。
问题是:执行一些Javascript后,页面中的所有文本字段都变为只读。 IE7和Firefox中都没有出现此问题。我调试了所有的javascript,没有抛出错误!由于它在IE7中正常工作,因此没有任何迹象表明这些字段会成为只读字段。
不确定问题是什么,可能与CSS有关吗?还是Javascript?为什么它只在IE6上发生?
注意:“不支持IE6不是一个选项”
答案 0 :(得分:1)
虽然IE可能会在某些情况下制造麻烦,但我确信这不是IE漏洞。
你怎么告诉这些字段是只读的?您是否获得任何光学确认,或者仅仅是您不能再点击它们了?在那种情况下,我敢打赌你是一种啤酒,这是一些看不见的DIV或其他布局元素,由于一些CSS设置,它会挤压在输入字段之上。
尝试使用IE developer toolbar查看是否存在布局问题。
如果它们确实已禁用,则需要显示一些JavaScript或(更好)链接。
答案 1 :(得分:1)
仍然不确定该版本发生了什么,但我确信我所做的所有Ajax修改都是造成这个问题的原因。
情景如下:
再次出现同样的情况。该页面是由一个新的JSF人员构建的,而且非常庞大。我花了很长时间重构它。但现在好多了,每个文本字段仍然有一个getValues Ajax,但是在获取所有值后不是验证它们,我通过发送所选标准来过滤服务器上允许的值
现在的情景:
这个问题似乎是一个Ajax赛车条件,在某些时候IE6被挂起或陷入僵局,我不确定。
经验教训,“重构一次可能需要一周时间,但没有每一个问题都需要更长的时间”
答案 2 :(得分:0)
建议禁用CSS并查看问题是否消失。但是,我不知道任何可以禁用字段的CSS标记。
除此之外,调试是您唯一的选择。删除所有.js并逐行添加,直到出现故障。
如果没有看到某些代码,我们可能很难帮助您。
答案 3 :(得分:0)
查看页面的HTML是否在这些INPUT元素上设置了“禁用”属性。如果是这样,那么在页面加载后,javascript将被用于启用元素。这是一种非常罕见的技术,可以防止用户在加载所有脚本之前过早地尝试与页面进行交互。
如果发生了这种情况,那么您可能已经完成的工作就是打破脚本识别需要启用哪些元素的方式。由于这只发生在IE6上,听起来这个脚本可能正在进行一些深奥的DOM导航,这些导航因标记或CSS的更改而中断。
不幸的是,您必须通过恢复到以前的版本来调试,直到您确定所做的更改会破坏页面。
答案 4 :(得分:0)
根据此处的其他答案以及您对它们的一些评论,您的页面中似乎有一个JavaScript函数可以设置要启用或禁用的元素。
为了提供帮助,我们必须看到您的代码。不过,这是你自己可以做的事情,可以解决你的问题:
最终,您将在不应该的位置点击该断点。查看调用堆栈以查看导致它的原因(哪个函数导致调用此函数)。