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

标签 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(分析)跟踪,当仅提交用户名(第1次提交)时,我想使用其他提交请求。备用提交看起来像这样:

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


我可以简单地将提交内容以某种方式填充到if / else吗?我怀疑还有更多。

最佳答案

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

$('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
}

关于jquery - 基于if/else的不同提交调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677446/

相关文章:

javascript - 使用淡入和淡出效果在图像上显示 HTML 元素

jquery使动态元素的父元素可点击

google-analytics - Google Analytics 如何检测浏览器/版本?

php - 如何检测代理/垃圾邮件访问者?

javascript - 如何使用 jquery 遍历四级 json 数组

javascript - Knockout js 禁用引导日期选择器中所选日期的过去日期

jquery - 如何为一流的 CSS 设计样式

android - Google Analytics 第 3 版 - 如何正确应用它?

google-analytics - Google Analytics API - 如何计算平均页面深度

android - 在您的 Firebase 开发设备上启用 Debug模式