我在 ASP.NET 中遇到以下问题:有一个表单,其中包含一个文本框和旁边的一个按钮,用户在填写该框后应该按下该按钮(示例http://www.burnthespam.info http://www.burnthespam.info,单击“选择您的”,或者在弹出窗口中使用 ReCaptcha 时)。相反,用户通常会按ENTER
键提交表格。
这不会导致触发按钮上的单击事件,并可能导致意外行为。在burnthespam中,我“尝试”通过检查文本框中是否有数据来解决问题(但现在如果您执行与按不同的操作ENTER
就像你按下它一样)来解决它。
您知道是否还有其他方法来处理表单提交ENTER
键,或当您按下时的 Javascript 片段ENTER
按下我喜欢的按钮?
EDIT
我想处理 ENTER 键事件服务器端, IE。我已经有了
protected void button_Click(object sender, EventArgs e)
{
Response.Redirect(...);
}
我希望不仅在使用按钮(单击或突出显示空格)提交表单时调用该方法,而且在用户按下时也调用该方法ENTER
当聚焦文本框时
EDIT 2
你知道是否可以以编程方式单击 Javascript 中的按钮?也许无法防止网络钓鱼/垃圾邮件(例如,请参阅 Facebook 和“分享给朋友”),但我仍然想问......
这是一种非常适合 ASP.NET 的更简单的方法:
将其添加到您的 .aspx 页面中
<script type="text/javascript">
function clickButton(e, buttonid) {
var evt = e ? e : window.event;
var bt = document.getElementById(buttonid);
if (bt) {
if (evt.keyCode == 13) {
bt.click();
return false;
}
}
}
</script>
并将其添加到 aspx.cs 文件中的 Page_Load 上
textbox1.Attributes.Add("onkeypress", "return clickButton(event,'" + buttonName1.ClientID + "')");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)