angular ng-if如果为true则自动发送表单

时间:2016-08-04 20:57:06

标签: javascript html angularjs

我有一个角度js表单和一个按钮,如果按下该按钮,将显示登录字段(2个用户名和密码输入,1个提交按钮)和另一个隐藏它的按钮。

我在下面编写了这个使用ng-if指令的简单代码。它只是工作正常的问题,使用后按show login,显示div,但表格正在自动提交(没有用户按下提交按钮)。

有人知道为什么会这样,以及如何解决它?

谢谢

<form name="loginForm" width="70%">

    <br>
    <button ng-click="NewConversation=true" >show login</button>
    <button ng-click="NewConversation=false" >hide login</button>
    <br><br>
    <div ng-if="NewConversation">
        <input autocomplete="off" name="name" ng-model="name" required placeholder="Name">
        <br>
        <input autocomplete="off" name="room" ng-model="room" required placeholder="Room">
        <br><br>
        <button ng-click="updateMsg({name: name,room: room})">Start Talking!</button>
    </div>

</form>

2 个答案:

答案 0 :(得分:4)

表单标记内的每个按钮都有默认行为 - 提交,以防止它将 type =&#34;按钮&#34; 添加到表单标记内的每个按钮。

<button type="button" ng-click="NewConversation=true" >show login</button>

答案 1 :(得分:0)

这应该有所帮助 显示登录 这将阻止它自动提交