我对此有点吃惊,所以我想知道是否有任何 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 的顺序排列,但我看不出这个顺序的原因。
我可以查看源代码并且 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= 无济于事,因为默认值不是人工输入的,它们在源中提供。