如何在AngularJS中参数值为null时阻止点击事件?

时间:2014-11-14 06:58:57

标签: angularjs

<input type="text" name="input" ng-model="email" placeholder="Email ID"/>
<!--input text box which value is send when click event fire.-->
<button type="submit" id="Button1" ng-click="sendBtnForgotPswd(email)" />
</form>

当输入“email”未定义时,我不想触发click事件。 AngularJS提供的任何内置过滤器都可以防止点击事件*

2 个答案:

答案 0 :(得分:2)

这里至少有两种可能性。可能最佳的方法是在电子邮件为空时使用ngDisabled指令停用按钮:

<button ng-disabled="!email" ng-click="sendBtnForgotPswd(email)" 
        type="submit" id="Button1" >Send</button>

其他选项是仅在填写电子邮件时调用sendBtnForgotPswd函数:

<button type="submit" id="Button1" ng-click="email && sendBtnForgotPswd(email)">Send</button>

另请注意,button代码无法自行关闭,因此您应添加结束</button>

答案 1 :(得分:1)

在按钮元素上使用ng-disabled="!email"