我在單頁面應用程序的視圖/內容部分之外的標題欄上的下拉列表中有一個簡單登錄表單上的兩個按鈕。表單上有兩個按鈕:Angular.js確定哪個按鈕導致提交的最佳方法是什麼?
編輯:兩個按鈕都需要提交表單,但我有兩個不同的結果;一個是新會員註冊,另一個是現有會員。我不想在多個部分處理這個問題。
我的主頁
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active">
<a href="#/home">Home</a>
</li>
<li class="divider-vertical"></li>
<li>
<div class="btn-group btn-group-xs navbar-btn btn-pad">
<a href="#" class="btn navbar-btn btn-default">NL</a>
<a href="#" class="btn navbar-btn btn-default">FR</a>
<a href="#" class="btn navbar-btn btn-default">EN</a>
</div>
</li>
<li class="divider-vertical"></li>
<!-- Begin Login Section -->
<li class="dropdown">
<a class="dropdown-toggle" href="#" data-toggle="dropdown">Signup/Login <strong class="caret"></strong></a>
<div class="dropdown-menu">
<div class="accountForm">
<!--form action="#" method="post" role="form"-->
<form name="loginForm" ng-submit="login()" ng-controller="homeController">
<div class="form-group">
<label class="control-label" for="username">Username</label>
<input type="text" ng-model="credentials.username" name="username" class="form-control input-sm" placeholder="username" required/>
</div>
<div class="form-group">
<label class="control-label" for="password">Password</label>
<input type="password" ng-model="credentials.password" name="password" class="form-control input-sm" placeholder="password" required/>
</div>
<div class="form-group">
<label class="control-label" for="remember">
<input type="checkbox" class"form-control" name="remember" value="1"/>Remember me</label>
</div>
<div class="form-group btn-group-justified">
<div class="btn-group">
<button button-id="join" type="submit" class="btn btn-default">New? Join us</button>
<input type="hidden" class="btn" />
</div>
<div class="btn-group inline">
<input type="hidden" class="btn" />
<button button-id="login" type="submit" class="btn btn-primary active">Log in</button>
</div>
</div>
</form>
</div>
</div>
</li>
<!-- End Login Section -->
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
<div id="page" ng-view>
第一個按鈕的目的是向用戶發送的登錄過程(如果已經註冊),第二個按鈕是新的用戶註冊。
我的問題是,如果我使用<form ng-submit="myFunction()">
指令,我還沒有找到一種方法來確定按下按鈕。
我也可以創建自己的指令,在那裏我可以確定被按下的按鈕,但這似乎是相當多的編碼工作,而且這真的是角度的方式嗎?
app.directive( 'buttonId',函數(){ 回報{ 限制: 「A」, 鏈接:功能(範圍,元素,屬性){
element.bind("click", function(){
// when attributes.buttonId = 'join'
//call the create script
// when attributes.buttonId = 'login'
//call the authenticate script
});
}
}
});
所以我的問題是根本使用ng-submit="myfunction()"
我可以判斷哪個按鈕被按下?
正切地說,這看起來像是令人困惑的UI設計。如果我是你,我會在視覺上將這兩種行爲分開。 – jessegavin
我在嘗試新的東西。 – T9b