在 ASP.NET webforms 和 ASP 3 (Classic ASP) 中,我遇到了一个问题,将表单提交按钮命名为“提交”会“破坏”。下面是渲染的 HTML:
<input type="submit" name="Submit" value="Submit" id="Submit" />
我说“破坏事物”是因为我不确定到底为什么或发生了什么。但症状通常是按下提交按钮有时什么也没做,即它只是不起作用。但有时它确实有效。
事实上,我只是用下面的代码构建了一个快速的一页测试,并且提交工作正常:
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtTest" runat="server" />
<asp:Button ID="Submit" runat="server" Text="Submit" />
</div>
</form>
但是,在过去,这个问题已经出现,并且重命名按钮总是使症状消失。
那么,是否有任何 HTML/HTTP/浏览器专家知道为什么在提交按钮上设置 id="submit" 会导致任何问题?
编辑
这个SO 评论似乎暗示“提交”是一个保留关键字。但是为什么“id”或“name”属性会干扰这个呢?以及如何以会导致冲突的方式实现这个“保留”关键字?
再次感谢