jquery ajax在chrome onenter中调用错误,没有responseText

时间:2010-02-04 21:44:36

标签: jquery google-chrome

我已经构建了一个登录页面,该页面使用.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中调试它?

3 个答案:

答案 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没有呈现第一个嵌套表单(但它确实呈现所有后续嵌套表单,因此页面的其余部分看起来很好)。