首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过角2中的事件对象获取输入字段名

如何通过角2中的事件对象获取输入字段名
EN

Stack Overflow用户
提问于 2016-05-05 01:14:06
回答 6查看 18.5K关注 0票数 3

我不知道这是否合乎逻辑。这是我输入框的html代码。

代码语言:javascript
运行
复制
<input type="text" id="name" #name="ngForm" [ngFormControl]="userProfileForm.controls['name']"  
             [(ngModel)]="loggedUserInfo.name" (change)="firechange($event,'name')"
             />

这是我的火换功能

代码语言:javascript
运行
复制
 firechange($event, field){
      if(this.userProfileForm.controls[field].valid){
       this._userService.updateUserProfile(this.loggedUserInfo);
       this._userService.loadUserData(); 
      }
 }

我只想传递火变函数中的事件,而在火变化函数中,我想从事件中获得输入字段名,这样我就可以理解我表单中的输入字段触发了事件。预期的代码将会是这样的。

代码语言:javascript
运行
复制
[ngFormControl]="userProfileForm.controls['name']"  
                 [(ngModel)]="loggedUserInfo.name" (change)="firechange($event)"
                 />

firechange($event){
          if(this.userProfileForm.controls[$event.fieldname].valid){
           this._userService.updateUserProfile(this.loggedUserInfo);
           this._userService.loadUserData(); 
          }
 }

我的理想要求是,在表单中有很多表单字段,我甚至不想在每个单独的表单字段中编写火变函数。是否有任何通用方法来调用每个输入字段的值更改特定表单的事件,而不将其写入每个输入字段?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-05-05 09:46:20

如果id与要传递的名称相同,则可以获得如下所示的名称

代码语言:javascript
运行
复制
firechange(event){
  if(this.userProfileForm.controls[$event.target.id].valid){
}
票数 1
EN

Stack Overflow用户

发布于 2017-06-12 09:11:50

要获取元素的实际名称,可以执行以下操作:

代码语言:javascript
运行
复制
firechange(event){
     var name = event.target.attributes.getNamedItem('ng-reflect-name').value;
     console.log('name')
}
票数 3
EN

Stack Overflow用户

发布于 2016-05-05 06:23:36

如果您希望从火更改函数中获取元素,您可能希望尝试如下所示:

代码语言:javascript
运行
复制
firechange(event){
          let theElement = event.target;
          // now theElement holds the html element which you can query for name, value and so on
 }

此外,如果您希望指示您的组件在您的所有输入字段中使用一个指令(并且不必在每个输入字段上指定这一点),那么我建议您查看in Angular2 how to know when ANY form input field lost focus

我希望这能帮到你

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37040700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档