首页 > 解决方案 > 角度发布方法动态支付网关错误:TypeError:this.element.submit不是函数

问题描述

我在 html 端以角度创建了 post 方法

<form  #bankUrlForm name="bankUrlForm"   action="{{bankTranactionModel.sendToBankUrl}}" method="post" target="_self"  >
  <input type="hidden" name="RefId" [ngModel]="bankTranactionModel.refId">
</form>

并从服务器获取bankTranactionModel数据并正确填充数据、操作 url、refid ......以及后面的代码

 @ViewChild('bankUrlForm') bankPostMethod;

并调用提交

this.bankPostMethod.submit();

我收到错误

TypeError: this.bankPostMethod.submit is not a function

在此处输入图像描述 在此处输入图像描述

而且我也使用过ngform,但出现错误。

当使用这个

@ViewChild('bankUrlForm') bankPostMethod: ElementRef<HTMLFormElement>;

重定向页面并显示错误

masspurchase:1 POST http://localhost:4200/purchase/masspurchase 404 (Not Found)

在此处输入图像描述

标签: angularpostsubmit

解决方案


@ViewChild('bankUrlForm')在您的情况下ElementRef返回:HTMLFormElement

@ViewChild('bankUrlForm') bankPostMethod: ElementRef<HTMLFormElement>;

因此,为了访问本机HTMLFormElement.submit()方法,您需要编写:

this.bankPostMethod.nativeElement.submit();

推荐阅读