基于if / else的不同提交调用

时间:2012-07-26 20:24:08

标签: jquery google-analytics

在我们的登录页面上,我们有两个输入字段(用户名和密码),但在第一个输入提交和验证之后,第二个字段才会显示。相同的按钮用于提交两次,一次只使用用户名,一次使用用户名和密码。

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

代码目前看起来像这样:

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

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

但是,对于Google Analytics跟踪,我只想在提交用户名时使用不同的提交电话(第一次提交)。备用提交看起来像这样:

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

我可以简单地将提交填充到if / else中吗?我怀疑它还有更多的东西。

2 个答案:

答案 0 :(得分:1)

这样的事情应该这样做:

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

答案 1 :(得分: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
}