【问题标题】:Use Enter to Submit twice on the same page在同一页面上使用 Enter 提交两次
【发布时间】:2010-03-04 12:33:31
【问题描述】:

我正在向现有程序添加额外的功能。它是一个登录页面,用于管理用户进出的时间。因此,首先要求登录,然后(在同一页面上)显示登录时间列表。登录和超时使用相同的按钮(只是重新标记)。

当用户想使用回车登录和超时时存在问题。所以快速按两次回车。登录没有问题。但是第二页无法识别输入。即使我用 JavaScript 捕获按键,也没有任何反应。我必须单击表单(或表单中的对象)才能输入。

试过 UseSubmitBehavior,Javascript,改变焦点。

我真的很绝望,想重写整个事情。

【问题讨论】:

  • 如果用户想同时登录和超时,您能否在用户勾选的按钮旁边放置一个文本框?然后让服务器检查是否打勾。如果这不可能,当您说您尝试更改焦点时,您是否尝试过处理按钮的 OnPreRender 方法并将该按钮设置为默认值?例如myLoginButton_PreRender(object sender, eventargs e) { Button btnDefault = sender as Button; this.Page.Form.DefaultButton = btnDefault.UniqueID; }

标签: asp.net javascript vb.net


【解决方案1】:

根据您对这个问题的描述,我建议两种不同的选择:

  1. 您可以在同一事件下的代码中同时添加登录名和时间。例如,当用户输入他们的登录信息并按 Enter 时,您可以调用该方法来登录用户,如果成功则在此之后立即调用 time-in 方法 - 这应该在用户按 Enter 时发生,无需这样做两次。
  2. 创建另一个按钮。一个用于登录,一个用于超时。用户登录后,隐藏登录按钮并显示超时按钮。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 2012-12-15
    相关资源
    最近更新 更多