在我们的登录页面上,我们有两个输入字段(用户名和密码),但在第一个输入提交和验证之后,第二个字段才会显示。相同的按钮用于提交两次,一次只使用用户名,一次使用用户名和密码。
我想根据提交的字段使用不同的提交电话。
代码目前看起来像这样:
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中吗?我怀疑它还有更多的东西。
答案 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
}