#html #angular #typescript
#HTML #angular #машинописный текст
Вопрос:
кто-нибудь знает, как я могу привязать keyup.enter proproty к вкладке клавиатуры? я имею в виду, что я хочу, чтобы при вводе значения в первом поле моей формы оно появлялось во втором поле. Нравится:
<form>
<label for="xxx">first:
<input type="text" id="first" name="first" (keyup.enter)="enterFirst(firstName)">
</label>
<label for="xxx">second:
<input type="text" id="second" name="second" (keyup.enter)="enterSecond(lastName)">
</label>
.
.
.
<button type="button" class="btn btn-success" (click)="sendNames(xxx)">valid</button>
</form>
Поэтому я хотел бы иметь возможность нажимать на поле вторым, когда я указываю имя и нажимаю enter.
У кого-нибудь есть идея? заранее спасибо
Ответ №1:
Это должно сработать, хотя это ванильный JS:
<input type="text" id="first" name="first" onkeyup="if (event.keyCode == '13') {enterFirst(this)}">
(ОТРЕДАКТИРОВАНО: заменено «FirstName» на «this»)
Комментарии:
1. сначала спасибо за ваш ответ @Lemindoge. но когда у меня появляется эта ошибка на консоли (индекс): 14 Неперехваченная ошибка ссылки: enterFirst не определен в HTMLInputElement.onkeyup ((индекс):14)
2. О, замените «FirstName» на «this». Если это не сработает, я думаю, что «enterFirst», вероятно, не существует в вашем коде.
Ответ №2:
HTML:
<h1>Here we will try to bind the keyup.enter with Tab</h1>
<div class="container">
<h2>Please enter datas an click on enter</h2>
<form>
<div class="row">
<div class="form-group col">
<label for="fname">Enter your firstname:</label>
<input type="text" class="form-control" placeholder="enter your firstname and click enter"
id="fname" name="fname" onkeyup="if (event.keyCode == '13') {enterFirst(this)}">
</div>
<div class="form-group col">
<label for="lname">Enter your lastname:</label>
<input type="text" class="form-control" placeholder="enter your lastname and click enter"
id="lname" name="lname" onkeyup="if (event.keyCode == '13') {enterLast(this)}">
</div>
</div>
<button type="button" class="btn btn-success" (click)="sendData()">submit</button>
</form>
</div>
Ts:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'angulartest';
public firstname: string;
constructor(){}
ngOninit(){
}
enterFirst(firstname){
console.log(firstname);
}
sendData(){
}
}
Я написал это просто для того, чтобы посмотреть, смогу ли я перейти к полю lastname, нажав enter после firstname