0

在我们的登录页面上,我们有两个输入字段(用户名和密码),但是在提交并验证第一个输入之前,第二个字段不可见。相同的按钮用于提交两次,一次仅使用用户名,一次使用用户名和密码。

我想根据提交的字段使用不同的提交调用。

代码目前看起来像这样:

if($('input[name=password]').size() > 0)
    $('input[name=password]').focus();
else
    $('input[name=username]').focus();

$('#login-button').click(function() {
    $('form').submit();
});

但是,对于谷歌分析跟踪,我想在只提交用户名时使用不同的提交调用(第一次提交)。备用提交看起来像这样:

$('#login-button').click(function() {
    $('form').submit(function() {
     _gaq.push('_trackPageview', 'PageName');
});

我可以以某种方式简单地将提交内容放入 if/else 中吗?我怀疑还有更多的东西。

4

2 回答 2

1

这样的事情应该这样做:

$('#login-button').click(function() {
    $('form').submit(function() {
        if($('input[name=username]').size() > 0)
         _gaq.push('_trackPageview', 'PageName');
    });
});
于 2012-07-26T22:25:36.243 回答
1

如果您想检查是否只有用户名而没有密码,您可以检查密码字段是否可见?也就是说,如果您想在屏幕上显示密码字段之前进行跟踪。

$('input[name=password]').is(':visible');

所以:

$('#login-button').click(function() {
    $('form').submit(function() {
        if ($('input[name=username]').size() > 0 && !$('input[name=password]').is(':visible')) {
            _gaq.push('_trackPageview', 'PageName');
        }
    });
});

但是,如果不是这种情况,并且您的意思是一旦密码字段在屏幕上可见就进行跟踪,您可以使用上面的示例并在 (if) 语句中添加 (&&) 子句。

if ($('input[name=username]').size() > 0 && $('input[name=password]').size() < 1) {
    //do some tracking
}
于 2012-07-26T23:35:30.317 回答