奇怪的Firefox输入错误

时间:2008-11-27 17:46:58

标签: .net firefox input httpmodule

我对此有点惊讶,所以我想知道之前是否有任何SOers遇到过它。

我有一个基本上是平面的页面,其中有一些input = text在标记中播种,默认值为A,B,C,D,E依次。标记在视图源中如下所示:

<td class="action invoice">
  <a href="#foo">Toggle Invoice</a>
  <div class="data">
    <input type="text" class="formatted" value="A" />
    <a href="#" class="notes" title="Add Note">Add Note</a>
  </div>
</td>

迭代了多行A-> E。

该页面由ASP.NET 2.0应用程序创建。版本1仅仅是“user.aspx?id = 1”版本2是由RESTlike HTTPModule从“users / 1”到“user.aspx?id = 1”的内部路径映射。

版本1没问题。渲染后的第2版 可以重复输入E,A,B,D,E顺序的输入,但我没有理由看到该顺序。

我可以查看source并且value =“X”是正确的,并且在firebug中的DOM检查中 defaultValue 是正确的,但不是。

  • 这不是CSS问题 - CSS已从页面中删除。
  • 这不是JS问题 - JS已关闭。
  • 这不是HTML问题 - 标记在所有情况下都完全相同。

唯一的区别是如何请求标记。这就像Firefox在某种程度上与服务器纠缠在一起。

有没有人听说这样的事情?我惊呆了。

编辑:这也是一个FF问题。 IE,Opera和Chrome在页面上都很好。

编辑2 :我的字面意思是请求的路径。一个版本是对 http://localhost/user.aspx?id=1 的请求,另一个(失败)版本是 http://localhost/users/1 ,此版本由HTTPModule映射到第一个路径。 name =无济于事,因为默认值不是人类输入的,它们在服务源中。

7 个答案:

答案 0 :(得分:1)

我打赌它与映射的url没有文件扩展名有关,因此firefox没有正确推断出内容类型。尝试在ASP代码中明确地将内容类型设置为“text / html”,看看是否可以修复它。

答案 1 :(得分:0)

您的意思是C,A,B,D,E?我的赌注是,在一个属性中的一个不带引号或不匹配的“正在搞乱解析c的td标签。当一个表中的标签没有正确包含在tr / td / etc中时,firefox将其移动到之前的页。

答案 2 :(得分:0)

你说:“唯一的区别是如何请求标记。” 你能扩展一下吗?这是某种DHTML交付, 或者是工作和非工作案例的完整HTML页面?

添加不同的name =“”参数会有帮助吗? Firefox确实如此 在某些情况下,尝试保留以前输入的值 你回到上一页,我看到它感到困惑 在有名称冲突之前。

编辑:你说名字无济于事,但是你试过吗?

答案 3 :(得分:0)

我还没有找到解决方案,它的可重复性似乎取决于我尚未确定的某些因素,但我有一些偶然的证据表明这似乎是某事的组合发生在FF(可能是对另一个标签中的内容的反应 - 推测)和 有问题的页面没有严格的doctype

如果有其他人遇到过这种奇怪的小gremlin,我会保持开放状态。

答案 4 :(得分:0)

Firefox非常积极地在刷新和后退/前进导航之间保存表单数据。

我想我会尝试在表单输入中添加autocomplete="off"属性,看看是否有帮助。

我认为firefox可能会将当前URI与引用URI进行比较,以了解它应该如何处理它保存的表单数据。在你的第二个例子中,两者不匹配。

答案 5 :(得分:0)

如果你可以创建一个重新创建它的案例并将其bug report提交给Firefox团队,以便他们可以修复它。

答案 6 :(得分:0)

通过HTML Validator运行您的代码,看看是否有任何遗漏的语法部分导致它呈现奇怪。