Я пытаюсь привязать общий объем к кнопке оплаты в форме html. Я создал функцию в своем файле .ts для расчета общей суммы. Чтобы проверить свою форму, я использую FormGroup и formBuilder. Вот мой typeScript:
import { Component, OnInit, OnChanges } from '@angular/core';
@Component({
selector: 'app-payment',
templateUrl: './payment.component.html',
styleUrls: ['./payment.component.css']
})
export class PaymentComponent implements OnInit {
paymentForm: FormGroup;
totalAmount: number;
constructor() { }
constructor(private formBuilder: FormBuilder, private appService: AppService) { }
ngOnInit() {
this.paymentForm = this.formBuilder.group({
'tenName': ['', Validators.required],
'appAddress': ['', Validators.required],
'textArea': ['', Validators.required],
'phoneNumber': ['', [Validators.required, Validators.maxLength(11)]],
'emailAddress': ['', [Validators.required, Validators.email, Validators.pattern('[^@]*@[^@]*')]]
});
}
OnChanges() {
}
calculatePayment() {
this.totalAmount = (this.paymentForm.value.amount * 0.0375) + this.paymentForm.value.amount;
}
}
В моей html-форме у меня есть несколько полей ввода с адресом имени и т.д. Вот часть html:
<form>
<div class="row row-padding padding-content md-padding-content lg-padding-content">
<div class="col-12"></div>
<div class="panel panel-info">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 panel-heading">
<div class= "col-xs-12 col-sm-12 col-md-6 col-lg-6"><span><i class="glyphicon glyphicon-lock"></i></span> Secure Payment
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 pull-right"><img class="pull-right cards-img" src="assets/img/credit-cards.png">
</div>
</div>
<div class="panel-body panel-box">
<div class="form-group">
<div class="col-sm-12 col-md-12 col-lg-12">
<strong>Amount You Are Paying</strong>
</div>
<div class="col-sm-6 col-md-6 col-lg-6">
<input type="text" class="form-control" name="pay_amount" id="pay_amount" value="" (input)="calculatePayment()" />
<span class="afix">***3.75% fee will be added to the amount (see below)</span>
</div>
</div>
<div class="form-group">
<div class="col-xs-12 col-md-12 col-sm-12 col-xs-12 col-lg-12 pull-right btn-row">
<button type="submit" class="btn btn-primary btn-lg btn-submit-fix pull-right">Pay {{totalAmount}}</button>
</div>
</div>
</div>
</div>
</div>
</form>