ngSubmit 不工作

新手上路,请多包涵

我有一个 angular 4 表单,我正在尝试提交数据

网页代码

<form class="form-horizontal"   [formGroup]="signupForm"
(ngSubmit)="onFormSubmit()" >
<fieldset>
  <legend>Scheduler</legend>
    <!--- Gender Block -->
    <div class="form-group">
    <label for="scheduleJob">Schedule Job</label>
    <input type="text" formControlName = "schedulejob"
      id="scheduleJob"
      placeholder="Schedule Job">

按钮代码

 <div class="form-group">
        <button type="reset" class="btn btn-default">Cancel</button>
        <button type="submit"  class="btn btn-primary">Submit</button>

    </div>

Scheduler.TS文件

import { Component, OnInit } from '@angular/core';
import { Scheduler } from 'rxjs/Scheduler';
/* Import FormControl first */
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

@Component({
  selector: 'app-scheduler',
  templateUrl: './scheduler.component.html',
  styleUrls: ['./scheduler.component.css']
})
export class SchedulerComponent implements OnInit {

  //Gender list for the select control element
 private scheduleTypeList: string[];
 //Property for the user
 private scheduler:Scheduler;

 private signupForm: FormGroup;

 constructor(private fb:FormBuilder) { }

  ngOnInit() {

    this.scheduleTypeList =  ['Type 1', 'Type 2', 'Type 3'];
    this.signupForm  = this.fb.group({
      schedulejob:  ['', Validators.required] ,
      frequency: ['', Validators.required],
      days: ['', Validators.required],
      zone: ['', Validators.required],
      schedulerjobtype:['', Validators.required]
  })
  }
  public onFormSubmit() {
    this.scheduler = this.signupForm.value;
    if(this.signupForm.valid) {
        this.scheduler = this.signupForm.value;
        console.log(this.scheduler);
      // alert(this.scheduler);
        /* Any API call logic via services goes here */
    }
    //alert(this.scheduler);
    console.log(this.scheduler);
}
}

为什么执行没有传递给 onFormSubmit 提交点击和警报或 console.log 不打印值?

原文由 SmartestVEGA 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 230
2 个回答

就像我在评论中所说的那样,如果您的按钮不在您的表单内,它将不会提交。

所以改为:

 <form>
  ...
  <button type="submit">Submit</button>
</form>

但是,如果您以不同的方式进行操作,则可以将其放在外面,如 本问题 中所述。

原文由 Chrillewoodz 发布,翻译遵循 CC BY-SA 4.0 许可协议

我遇到了同样的问题,因为我没有使用 <form> 标签来包装我的表格。

原文由 Leo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题