关于js判断用户名和密码的问题

遇到一个问题,就是判断用户名和密码里面判断不为空的条件怎么写,我用了两种判断
方法,分别遇到两个不同的问题.
第一个是第三方登录时,调到登录界面,需要点击确认才能提交表单,不能直接进入

$(function() {

        var username = $('#username').val();
        var password = $('#password').val();
        if( !username && typeof(username)!="undefined" && username!=0 && !password && typeof(password)!="undefined" && password!=0 ){
            $("#loginForm").submit();
        } 

另外一种第三方登录时可以直接跳转进去,但是如果账号或密码错误时会一直刷新界面

 var username = $('#username').val();
        var password = $('#password').val();
        if( username!=undefined && username!=0 && password!=undefined && password!=0 ){
            $("#loginForm").submit();
        }

请问是哪里出了问题,怎么写判断条件才是正确的呢?

$(function() {
var username = $('#username').val();
var password = $('#password').val();
if( username != undefine && username!="" && password!= undefined && password!=""){
$("#loginForm").submit();
}
验证用户名和密码是否正确,在后台验证,并将结果弹出到页面

$(function() {

    var $use = $('#username');
    var $pass = $('#password');

            var $sub = $('登录按钮id');

            $sub.on('click', function (){
                    var name - $.trim($name.val());    // 去掉前后空格
                            var value = $.trim($pass.val());

                            if(!name){
                                alert('请输入用户名');
                                    return false
                            }
                            if(!value){
                                alert('请输入密码');
                                    return false
                            }

                            $("#loginForm").submit();
            });

}

因为如果通过第三方跳转,获取username、password的方式应该通过request来获取吧,不能再在页面上获取了 var username = request.getParameter("username")