2017-01-27 17 views
0

同じパネルに2つのフォーム(ユーザー登録とログイン)が登録とログインという2つの見出しがあります。押されると、ログインフォームと登録フォームが切り替わります。このlaravelでページがリロードされたときに非アクティブなフォームが表示されない

<div class="panel-body"> 
<form action="/register" method = "post" id = "reg_form"> 
</form> 
<form action="/login" method="post" id="login_form"> 
</form> 
</div> 

のようなこの

<div class="panel-heading"> 
<div id="register_div" > 
    <a href="#" id="register_btn" class="text-center">Register</a> 
</div> 
<div id="login_div"> 
    <a href="#" id="login_btn" class="text-center" >Login</a> 
</div> 
</div> 

そして、二つの形式のような ページのロードがフォームが隠されているログインし、フォームを登録する問題は時にログインフォームでのjavascript

$('#login_form').hide(); 

で示されていますログインのエラーが返されます。ページの再読み込みやログインエラーはログインフォームに表示されず、登録フォームがデフォルトで表示されます。ログインフォームのタブを押すと、ログインエラーが表示されます。ログインエラーが発生し、登録フォームと同じ場合、ログインフォームを表示するにはどうすればよいですか?完全なコードが共有されますhereよりわかりやすくする

+0

は、あなたのコントローラのコードを投稿してください。エラーに名前を付けて、ビューで識別し、それに基づいて非表示を表示することができます。エラーバッグに名前を付けるには、https://laravel.com/docs/5.3/validation#named-error-bagsを参照してください。 – Vikash

答えて

0

localStorageを使用できます。ボタンのクリックで

var formShowing = localStorage.getItem("formShowing"); 
if(formShowing && formShowing === "login"){ 
    $('#reg_form').hide(); 
} 
else{ 
    $('#login_form').hide(); 
} 

:あなたはどうしたら、ページの読み込みで

 localStorage.setItem("formShowing","register"); 
     localStorage.setItem("formShowing","login"); 
0

はこれを試してみてください:

var $errorField = $('.has-error');  //get field with error 
if($errorField) {      // if there is a field with error 
    $('form').hide();     //hide all forms first 
    $errorField.closest('form').show(); //show the one with an error 
} else { 
    $('#login_form').hide();   //default logic 
} 
関連する問題