Sebas Martin Ответов: 1

Пытаюсь поставить скрытое поле для передачи данных formbuilder


Я пытаюсь отправить массив, строковый из скрытого ввода, созданного в js, но значение никогда не переходит в formBuilder.

Код, который создает скрытый ввод из другого js-файла, выглядит следующим образом:

$(form).append(
        $('<input>')
            .attr('type', 'hidden')
            .attr('formControlName', 'selectedMessages')
            .attr('ng-reflect-name', 'selectedMessages')
            .val(JSON.stringify(selectedMessages))
    );

Он прекрасно создает скрытый ввод и значение тоже, но никогда не отправляет информацию, что я могу сделать, чтобы решить эту проблему?

это мой компонент.:

import { Component, OnInit } from '@angular/core';
import { searchClient } from '../inicio/inicio.component';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { FirestoreService } from '../../services/firestore/firestore.service'
import "../../js/TableJS.js";


const index = searchClient.initIndex('messages');

@Component({
  selector: 'app-inbox',
  templateUrl: './inbox.component.html',
  styleUrls: ['./inbox.component.css']
})



export class InboxComponent implements OnInit {
  messagesForm: FormGroup;
  errorMessage: string = '';
  successMessage: string = '';
  constructor(
    private fb: FormBuilder,
    private fireservice: FirestoreService) {

   }

  ngOnInit() {
    this.createForm();
  }

  createForm() {
    this.messagesForm = this.fb.group({
      selectedMessages: ['']
    });
  }
  // t01jbCy7XDGdDuUoIWw9
  getUserByID(userId: string){
    this.fireservice.getUserByID(userId);
  }
  console(value){

      console.log(value);


  }
  getArchivedMessages(){

  }
  getInMessages(){

  }
  getOutMessages(){

  }
  deleteMessage(){

  }
  archiveMessage(){

  }
  checkForFullMsgDelete(){

  }

}


входные данные, которые создаются, когда я нажимаю кнопку, вызывающую (form).append, - это:

input type="hidden" formcontrolname="selectedMessages" ng-reflect-name="selectedMessages" value="["selectedmessages values"]";


при отправке я вызываю console(messagesForm.value), и он всегда пуст, не полностью, потому что он отправляет пустую переменную "selectedMessages" из formBuilder, но вы знаете, что я имею в виду.

Что я уже пробовал:

Я пробовал FromArray, делая отправку после создания входных данных.. и еще кое-что, чего я сейчас не помню.

1 Ответов

Рейтинг:
2

Peter_in_2780

Элементы ввода Html требуют name атрибут для того, чтобы быть переданным при отправке формы. Рамки причудливых названий его не разрежут.