Post _this.testFormEl.nativeElement.submit不是表单发布的函数

Post _this.testFormEl.nativeElement.submit不是表单发布的函数,post,angular6,Post,Angular6,我有一个隐藏的形式在一个对话框中,我想提交自动。 HTML代码: <form #formVal method="POST" [action]="urlvalue"> <p *ngFor="let item of redirectData.RedirectData.Form.Parameter; let pindex = index;"> <input type="hidden" [name]="item.name" [value]=

我有一个隐藏的形式在一个对话框中,我想提交自动。 HTML代码:

<form #formVal method="POST" [action]="urlvalue">
      <p *ngFor="let item of redirectData.RedirectData.Form.Parameter;
       let pindex = index;">
    <input type="hidden" [name]="item.name" [value]="item.value">
  </p>
  </ form>
这是可行的,但在Angular 6中,我尝试在ngAfteronInit中使用ViewChild,但仍然没有发现本地元素的错误,我甚至在HTML中使用了ngNoform,但没有成功

@ViewChild('formVal') form: ElementRef;
             setTimeout(() => {
               this.form.nativeElement.submit();
          }, 200);

请建议我缺少什么

您可能有一个名为
submit
的元素

例如:


将其重命名为其他名称,例如
btnSubmit

您可能有一个名为
submit
的元素

例如:


将其重命名为其他名称,例如
btnSubmit

您应该像这样调用提交按钮的单击事件

<form #formVal method="POST" [action]="urlvalue">
    <div *ngFor="let item of redirectData.RedirectData.Form.Parameter; let pindex = index;">
      <input type="hidden" [name]="item.name" [value]="item.value">
    </div>
    <input type="hidden" name="submit" #submitBtn>
</ form>

在此之后,从要提交函数的位置调用
submitForm()
函数。

您应该像这样调用提交按钮的单击事件

<form #formVal method="POST" [action]="urlvalue">
    <div *ngFor="let item of redirectData.RedirectData.Form.Parameter; let pindex = index;">
      <input type="hidden" [name]="item.name" [value]="item.value">
    </div>
    <input type="hidden" name="submit" #submitBtn>
</ form>

在那之后调用
submitForm()
函数,您可以从其中提交函数。

我可以使用HTMLFormElement实现它

<form ngNoForm name="myForm" id="myForm" [action]="urlvalue" method="POST">
 <button type="submit" class="test" style="visibility: hidden;"></button>
</form>

此代码在组件中被删除。 const form:HTMLFormElement=document.getElementById('myForm');
表单提交()

我能够使用HTMLFormElement实现它

<form ngNoForm name="myForm" id="myForm" [action]="urlvalue" method="POST">
 <button type="submit" class="test" style="visibility: hidden;"></button>
</form>

此代码在组件中被删除。 const form:HTMLFormElement=document.getElementById('myForm'); 表单提交()