2017-08-01 46 views
1

当我点击未定义为提交按钮时,提交(formAccessor)按钮的作品。我很好奇这种行为,因为我没有把它定义为提交按钮。事实上,当我在表单中添加另一个按钮时,它也会提交。我怎样才能把一个按钮放入窗体并给它另一种行为? thaks角度知道按钮是如何提交按钮

<form #formAccessor="ngForm" on-ngSubmit="submit(formAccessor)"> 
    <div class="form-group"> 
     <label for="id">ID </label> 
     <input ngModel name="id" id="id" #idAccessor="ngModel" type="text" class="form-control"> 

    </div> 
    <div class="form-group"> 
     <label for="dataModelVersion">Data Model Version </label> 
     <input id="dataModelVersion" type="text" class="form-control"> 
    </div> 
    <div class="form-group"> 
     <label for="orderId">orderId </label> 
     <input id="orderId" type="text" class="form-control"> 
    </div> 


    <button class="btn btn-primary pull-right">Submit</button> 
</form> 
+5

我想形式默认内的按钮'类型=“提交”'https://stackoverflow.com/questions/9643806/form-is-submitted-when-i-click-on-the-如何避免此问题 –

+2

另请注意,该行为不是特定于Angular的。 –

回答

1

此行为不是Angular相关的。这基本上就是您的浏览器自行解析按钮的方式。即使没有Angular,您也可以看到here,但该按钮的表现仍然像提交按钮一样。

<form> 
    <input required> 
    <button> 
    Click 
    </button> 
</form> 

但是,如果您指定该按钮的类型,它的行为应该与它应该一样。因此,您可以指定类型button,这将不会触发表单操作/提交,如here所示。

<form> 
    <input required> 
    <button type="button"> 
    Click 
    </button> 
</form>