Угловой: для ввода текста не будет установлено значение по умолчанию - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть это имя пользователя:

<div class="form-group"> 
    <label for="userName">Username</label>
    <input name='userName' ngModel id="userName" type="text" 
           ng-model="userName"   init="userName='Bob'" value="Bob" >
</div>

Я хочу установить вход «Боб» по умолчанию, но это не работает. Если я удаляю 'ngModel', он работает, и он мне нужен, иначе он не отправит мое имя пользователя на сервер.

Это в начале формы (действие, которое происходит, когда я нажимаю кнопку отправки):

<form #physicians="ngForm" (ngSubmit)="onFormSubmit(physicians.value)">

А это контроллер:

onFormSubmit(data) {
    console.log(data);
    this.adminService.updateUser(data).subscribe((responseData: any) => {
        this.router.navigate(['/']);
   },
   (err: HttpErrorResponse) => {
       this.isSignupError = true;
       this.errorText = err.error['message'];
   });
}

Как я могу это исправить? Спасибо!

Ответы [ 4 ]

0 голосов
/ 17 сентября 2018

вы можете добавить this.userName = 'Bob'; в файле .ts удалите init и value = 'Bob' из html.

0 голосов
/ 17 сентября 2018

Попробуйте использовать следующий код: HTML :

<input name='userName'  id="userName" type="text" [(ngModel)]="userName">

TS :

userName='Bob' // when you have declared the variable
0 голосов
/ 17 сентября 2018
 <form [formGroup]="physicians" (ngSubmit)="onSubmit(physicians.value)">
<div class="form-group"> 
            <label for="userName">Username</label>
            <input  name='userName'  type="text"  formControlName="userName"  >
     </div>

Код ФАЙЛА TS

Поместите это в ngOnInit

this.physicians= this._formBuilder.group({
      userName:['bob']
})



onFormSubmit(data) {
console.log(data);
 this.adminService.updateUser(data).subscribe((responseData: any) => {
  this.router.navigate(['/']);
},
(err: HttpErrorResponse) => {
  this.isSignupError = true;
  this.errorText = err.error['message'];
});
0 голосов
/ 17 сентября 2018

вы должны сделать что-то вроде:

код TS:

export class AppComponent  {
  userName;
  constructor() {
    this.userName = 'Bob';
  }
}

HTML:

<code> <form #form="ngForm" novalidate>
    <label>userName:</label>
    <input type="text" name="userName" [(ngModel)]="userName" required minlength="2" maxlength="10" #userNameDir="ngModel">
    <pre>errors: {{userNameDir.errors | json}}
form.value: {{form.value | json}}
form.errors: {{form.errors | json}}
form.status: {{form.status | json}}
form.dirty:{{form.dirty | json}}

DEMO .

...