在登录页面上,我们有两个输入字段(用户名和密码),但是直到提交并验证了第一个输入之后,第二个字段才可见。使用同一按钮提交两次,一次仅提交用户名,一次同时提交用户名和密码。
我想根据要提交的字段使用不同的提交调用。
该代码当前看起来像这样:
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/