2013-10-25 41 views
1

我有兩個部分屏幕。其中一個或另一個可以同時打開。如何根據用於提交的表單的ID更改用戶消息?

一個登錄表單:

 <form action="/Account/Login" id="login-form" class="form" method="post"> 
      <button id="login" type="submit">Login</button> 
      <button id="register" type="button" onclick="location.href='/Account/Register'">Register</button> 
     </form> 

和登記表:

 <form action="/Account/Register" class="form" id="register-form" method="post"> 
      <button id="register" type="submit">Register</button> 
      <button id="login" type="button" onclick="location.href='/Account/Login'">Login</button> 
     </form> 

在佈局屏幕有共同邏輯用於使一個消息在屏幕上:

<p id="authentication-progress"></p> 
<script type="text/javascript"> 
    (function() { 
     document.getElementsByClassName('form')[0] 
      .addEventListener("submit", function() { 
       document.getElementById("login").disabled = true; 
       document.getElementById("register").disabled = true; 
       document.getElementById('authentication-progress').innerHTML = 'System: Authenticating ' 
       setInterval(function() { 
        document.getElementById('authentication-progress').innerHTML += '. '; 
       }, 3000); 
       // document.getElementById("loading-mask").style.display = "block"; 
      }, false); 
    })(); 
</script> 

是否有某種方式可以更改它,以便登錄和註冊的消息不同。

On login: System: Authenticating 
On registration: System: Registering 
+2

他們也共享ID的,這是個壞消息。 ID的**必須是唯一的! – tymeJV

+0

你可以使用類.. –

+0

對不起,我不清楚。登錄和註冊是部分形式。一次只能顯示一個或另一個。 – Melina

回答

2

是 - 通過檢查什麼是元素的id給定事件是目標,如:

.addEventListener("submit", function (ev) { 
document.getElementById('authentication-progress').innerHTML = ev.target.getAttribute('id') == "register-form" ? "System: Registering" : "System: Authenticating"; 
}); 

的jsfiddle:http://jsfiddle.net/njqP7/

相關問題