2016-06-10 35 views
1

如果電子郵件地址已經註冊或消息顯示「感謝您註冊!」,我試圖向用戶顯示一條消息。如何使用ng有條件地顯示消息 - 如果角度爲

表1:

<div> 
    <button type="submit" data-target="#publisherVerification">Sign up</button> 
</div> 

<div id="publisherVerification" ng-if="flag===true"> 
    <div> 
     <p>Thank you for signing up.</p> 
    </div> 
</div> 

<div id="publisherVerification" ng-if="flag===false"> 
    <div> 
     <p>User already registered. Please use login.</p> 
    </div> 
</div> 

表2:

<div> 
    <button type="submit" data-target="#artistVerification">Sign up</button> 
</div> 

<div id="artistVerification" ng-if="flag === true"> 
    <div> 
     <p>Thank you for signing up</p> 
    </div> 
    <div id="artistVerification" ng-if="flag === false"> 
     <div> 
      <p>User already registered. Please use login.</p> 
     </div> 
    </div> 
</div> 

以上兩種形式都在同一個頁面,並呼籲按鈕點擊相同的功能。

它的工作,但兩種形式都顯示消息,如果用戶是「已經註冊或新用戶」,因爲他們正在調用相同的功能。如何僅顯示特定表單的消息。我知道我可以爲每個表單創建單獨的函數,但是我想用單個函數來嘗試它。

回答

2

問題是兩個ng-ifs使用相同的標誌。您需要區分藝術家標誌和發佈者標誌。

此外,應該有一個標誌,在開始時隱藏消息,只有在用戶提交時纔會顯示。

爲了解決這個問題,我將一個用戶參數傳遞給共享提交函數。

<button type="submit" ng-click='submitForm("publisher")' data-target="#publisherVerification">Sign up</button> 

<div id="publisherVerification" ng-if="submitted.publisher ===true"> 
    <div ng-if="flags.publisher===true"> 
    <p>Thank you for signing up.</p> 
    </div> 
    <div ng-if="flags.publisher===false"> 
     <p>User already registered. Please use login.</p> 
    </div> 
    </div> 
</div> 

這裏有一個的jsfiddle與工作解決方案:https://jsfiddle.net/adamback42/x50kyh6n/4/

+0

非常感謝你:)我仍在測試它。 – Satyadev

+0

@Satyadev對你來說有什麼用? – Adam

0

使用不同的對象來顯示不同的消息, 例如:set publisherVerification.flag = true,當publisherVerification成功註冊時其他設置publisherVerification.flag = false;

爲artistVerification 使用artistVerification.true相似時artistVerification是成功的註冊,否則設置爲artistVerification.flag假;

這將幫助您將publisherVerification和artistVerification的代碼分離得更清晰。

+0

不同的對象? – Satyadev

相關問題