我已经构建了一个登录页面,该页面使用.ajax调用通用c#处理程序(.ashx)来验证用户名和密码,然后才允许用户登录。
如果您点击登录链接
<a href="#" class="ui-state-default ui-corner-all CustomButton" onclick="goLogin();return false">
.ajax调用成功返回并将用户登录。我正在尝试使用,这样用户也可以只按密码框中的“输入”键:
$("#pword").keydown(function(e) {
if (e.keyCode == 13) {
goLogin();
}
});
使用Firefox,两种方式都可以正常工作并且用户已登录。但是,使用Chrome,按“enter”会触发我的.ajax调用的错误功能,并且不会将用户登录。
根据预期,Firefox的控制台上的参数和响应看起来相同。 导致此问题的原因和/或如何在Chrome中调试它?
答案 0 :(得分:0)
你也可以让jQuery点击链接:
$("#pword").keydown(function(e) {
if (e.keyCode == 13)
$(".CustomButton[href=#]").click();
//Really should give <a> an ID, e.g. $("#LoginBtn").click();
});
无论按钮做什么,现在输入也会这样做...这往往会绕过一些浏览器问题,就像你看到的一样。
答案 1 :(得分:0)
我有同样的问题。使用keypress并返回false修复了Chrome和Safari中的问题。
$("#pword").keypress(function(e) {
if (e.keyCode == 13) {
goLogin();
return false;
}
});
希望这有帮助.. BuR
答案 2 :(得分:0)
问题实际上是由我的html中的错误引起的。我不小心有嵌套表单,Chrome没有呈现第一个嵌套表单(但它确实呈现所有后续嵌套表单,因此页面的其余部分看起来很好)。