我有一个jsp,它有两个下拉列表,一个texbox和一个提交按钮, 当我选择第一个和第二个下拉菜单并按下输入它的呼叫提交按钮 但是当我使用textfied并且我的光标在那个textfied并且我按下输入它没有调用提交按钮,这意味着它没有调用动作..任何人都可以建议我为什么会这样发生......
由于 维诺德
答案 0 :(得分:3)
此处为my post about this issue和the relevant section in the spec - 这是标准行为 - 如果表单中只有一个文本字段,则在该字段中按 Enter 会导致表单提交没有发送提交按钮作为请求中的一个参数。当焦点位于select
元素上时按Enter键,该元素无法处理按键,因此事件会冒泡到表单,然后像往常一样导致提交。
<强>更新强>
正如BalusC在下面的评论中指出的那样 - 缺少提交按钮参数是特定于Internet Explorer的行为。
可能的解决方法:
避免在服务器端逻辑中使用提交按钮 - 我推荐这种方法
添加使用CSS设置的不可见<input type="text">
元素('display: none'
)
使用JavaScript绑定单个文本字段上的keypress
侦听器,如果是 Enter ,请停止默认操作并调用表单的提交操作。我会避免这种情况,因为它可能会破坏您的应用程序(就像现在一样)与不支持JavaScript的客户端 - 一个简单的非JS表单应该适用于所有客户端,因此上述方法之一可能是最佳选择。 / p>