2014-10-11 95 views
0

我有以下形式的HTML代碼:流星 '提交' 事件不工作,其他事件正在

<form class="login-form" method="post"> 
    <h3 class="form-title">Admin Login-20</h3> 
    <div class="alert alert-danger display-hide"> 
     <button class="close" data-close="alert"></button> 
     <span> 
     Enter username and/or password. </span> 
    </div> 
    <div class="form-group"> 
     <!--ie8, ie9 does not support html5 placeholder, so we just show field title for that--> 
     <label class="control-label visible-ie8 visible-ie9">Username</label> 
     <div class="input-icon"> 
      <i class="fa fa-user"></i> 
      <input class="form-control placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="username"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="control-label visible-ie8 visible-ie9">Password</label> 
     <div class="input-icon"> 
      <i class="fa fa-lock"></i> 
      <input class="form-control placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password"/> 
     </div> 
    </div> 
    <div class="form-actions"> 
     <label class="checkbox"> 
      <input type="checkbox" name="remember" value="1"/> Remember me </label> 
     <button type="submit" class="btn green pull-right"> 
      Login <i class="m-icon-swapright m-icon-white"></i> 
     </button> 
    </div> 
    <div class="forget-password"> 
     <p><a href="javascript:;" id="forget-password">Forgot Password</a></p> 
    </div> 

</form> 

以下是事件代碼:

Template.adminLogin.events({ 

    "click form.login-form button[type='submit']": function (event, template) { 

     event.preventDefault(); 
     console.log('Click button Login Form -01'); 
    }, 

    "keyup form.login-form": function(event, template){ 
     if(event.keyCode === 13) { 
      event.preventDefault(); 
      console.log('Keyup Login Form - 01'); 
     } 

    }, 

    "submit form.login-form": function (event, template) { 

     event.preventDefault(); 
     event.stopPropagation(); 
     return false; 
     console.log('Submit Login Form -01'); 

    } 


}); 

我的問題是 '點擊',「KEYUP '正在工作,但'提交'不起作用。有人能指導我什麼是錯的,以及如何糾正。

+1

(1)'點擊按鈕event.preventDefault()'我寫阻止最終的'submit'事件。 (2)'''submit'事件處理程序在'console.log'運行之前返回'false'。除非模板中有多個表單,否則您只需要一個沒有表單名稱說明符的'submit'事件(即無論如何您都不需要這些事件)。 – 2014-10-11 15:44:36

回答

0

console.log不起作用的一個原因是,在console.log有機會運行之前您返回false。

此外,您不必像在php中那樣指定表單方法「post」。通常,您只需使用javascript在提交事件中獲取所需的輸入值並調用某種方法(例如accounts.loginWithPassword)。此外,提交事件負責密鑰和點擊事件,因此這些是多餘的。

對不起任何錯誤,在移動