导航问题关于默认在jsp中输入按钮

时间:2011-03-31 17:35:09

标签: html jsp jsf form-submit

我有一个jsp,它有两个下拉列表,一个texbox和一个提交按钮, 当我选择第一个和第二个下拉菜单并按下输入它的呼叫提交按钮 但是当我使用textfied并且我的光标在那个textfied并且我按下输入它没有调用提交按钮,这意味着它没有调用动作..任何人都可以建议我为什么会这样发生......

由于 维诺德

1 个答案:

答案 0 :(得分:3)

此处为my post about this issuethe relevant section in the spec - 这是标准行为 - 如果表单中只有一个文本字段,则在该字段中按 Enter 会导致表单提交没有发送提交按钮作为请求中的一个参数。当焦点位于select元素上时按Enter键,该元素无法处理按键,因此事件会冒泡到表单,然后像往常一样导致提交。

<强>更新
正如BalusC在下面的评论中指出的那样 - 缺少提交按钮参数是特定于Internet Explorer的行为

可能的解决方法:

  1. 避免在服务器端逻辑中使用提交按钮 - 我推荐这种方法

  2. 添加使用CSS设置的不可见<input type="text">元素('display: none'

  3. 使用JavaScript绑定单个文本字段上的keypress侦听器,如果是 Enter ,请停止默认操作并调用表单的提交操作。我会避免这种情况,因为它可能会破坏您的应用程序(就像现在一样)与不支持JavaScript的客户端 - 一个简单的非JS表单应该适用于所有客户端,因此上述方法之一可能是最佳选择。 / p>