Skip to main content
 首页 » 编程设计

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

2025年05月04日116hnrainll

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

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

该代码当前看起来像这样:

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 
}