Группа вложенных форм в Angular6

Насколько я понимаю, ваша проблема - это поведение отправки по умолчанию тега формы, которое вызывает событие отправки при нажатии клавиши Enter.

Чтобы предотвратить это событие, вы можете использовать следующий код

jQuery(document).ready(function(){
    jQuery("form.app-search").submit(function(e){
        e.preventDefault();
    });
})

Где jQuery("form.app-search") - селектор jquery, который ищет теги формы, имеющие класс app-search, даже вы можете написать очень специфический идентификатор (# селектор).

Попробовать FIDDLE

Надеюсь, это сработает для вас.

0
задан raju 19 January 2019 в 15:23
поделиться

2 ответа

Если вы проверите typeof любого вложенного (или родительского) FormGroup, он всегда будет возвращать объект. так что вы можете просто преобразовать вашу переменную типа объекта следующим образом -

apiForm : Object;
...
this.apiForm = this.serviceItemForm.get('api');

Иначе, вы можете выполнить приведение типов во время присвоения значения такой переменной -

apiForm : FormGroup;
this.apiForm = (<FormGroup>this.serviceItemForm.get['api']);
0
ответ дан Pardeep Jain 19 January 2019 в 15:23
поделиться

Вы можете попробовать код ниже:

serviceItemForm: FormGroup;
apiForm : FormGroup;

this.apiForm = this.fb.group({
    'apiurl': new FormControl(''),
    'apimethod': new FormControl(''),
    'headers': this.fb.array([]),
    'payload': '',
  });

this.serviceItemForm = this.fb.group({
  'name': new FormControl('', Validators.required),
  'description': new FormControl('', Validators.required),
  'categoryIds': new FormControl([], Validators.required),
  'tags': [],
  'status': '',
  'orderFormType': new FormControl([], Validators.required),
  'orderFormKey': new FormControl([], Validators.required),
  'workflow': [],
  'orderFormAction': new FormControl('', Validators.required),
  'customUI': new FormControl(''),
  'api': this.apiForm,
  'userGroup': []
});

0
ответ дан Vikash Dahiya 19 January 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: