2016-05-20 13 views
0

ユーザーは一度サインインするだけで、次回ハイブリッドアプリを開くと自動的にサインインする必要があります。以下のJavaScriptコードは動作しますが、必要な 'login/submit' div()を削除した場合にのみ有効です。どうすればこの問題を回避できますか?JavaScriptを使用した自動ログインが正しく機能しない

HTML;

<body> 

<form name="EventConfirmRedirection" class="Form" method="post" action="index.php" id="myForm" data-ajax="false"> 
    <div class="user_login3"><input style="text-transform:lowercase" type="text" name="username" id="username" placeholder="username"></div> 
    <div class="user_login3"><input type="password" name="password" id="password" placeholder="password"></div> 

    <div style="margin-left:5%; width:45%; font-size:5px;"> 
     <input data-theme="c" type="checkbox" id="rememberMe" name="rememberMe"/> 
     <label for="rememberMe"><span style="font-size:12px">remember me</span></label> 
    </div> 

    <div style="margin-left:5%; color:#FF0000; font-weight:bold" id="error"></div> 



    <div class="login"><input type="submit" value="LOGIN" name="submit" data-theme="e" id="submit"></div> 
</form> 

</body> 

JAVASCRIPT;代わりに使用してのあなたのJavaScriptで

$(document).ready(function() { 

"use strict"; 

    if (window.localStorage.checkBoxValidation && window.localStorage.checkBoxValidation !== '') { 
     $('#rememberMe').attr('checked', 'checked'); 
     $('#username').val(window.localStorage.userName); 
     $('#password').val(window.localStorage.passWord); 
     document.EventConfirmRedirection.submit(); 
    } else { 
     $('#rememberMe').removeAttr('checked'); 
     $('#username').val(''); 
     $('#password').val(''); 
    } 

    $('#rememberMe').click(function() { 

     if ($('#rememberMe').is(':checked')) { 
      // save username and password 
      window.localStorage.userName = $('#username').val(); 
      window.localStorage.passWord = $('#password').val(); 
      window.localStorage.checkBoxValidation = $('#rememberMe').val(); 
     } else { 
      window.localStorage.userName = ''; 
      window.localStorage.passWord = ''; 
      window.localStorage.checkBoxValidation = ''; 
     } 
    }); 
}); 

AJAX

$(document).ready(function() { 

"use strict"; 

    $("#submit").click(function(e) { 
    e.preventDefault(); 

     if($("#username").val() === "" || $("#password").val() === "") 
     { 
     $("div#error").html("Both username and password are required"); 
     } else { 
       $.post($("#myForm").attr("action"), 
         $("#myForm :input").serializeArray(), 
         function(data) { 
          $("div#error").html(data); 
         }); 

       $("#myForm").submit(function() { 
        return false; 
       }); 
       } 
}); 

}); 
+0

問題はどこですか?送信をクリックすると、フォームデータがインデックスファイルに正常に投稿されます – Poria

+1

なぜこれらの行を使用しましたか? $( "#myForm")。submit(function(){ false false; }); – sarath

+0

@ Poria自動ログインは動作しません。それは私のHTMLからdiv "

"を削除したときにのみ機能します。 – chiboz

答えて

0

@chiboz、:

document.EventConfirmRedirection.submit();

使用:

$('#submit').click();

関連する問題