javascript - 从提交 Angular 6 获取 HTML 选择值和输入值

标签 javascript angular angular6 angular-forms

从表单提交中获取 HTML 选择值和输入值,

在这里我只得到未定义的选择值,并给出错误

Cannot read property 'target' of undefined at RightcomponentComponent.push../src/app/rightcomponent/rightcomponent.component.ts.RightcomponentComponent.formSubmit

rightcomponent.component.html

  <!--Form start-->
  <form >
  <div class="row">

      <div class="form-group row">
          <div  style="margin-left: 60px;margin-right:50px ">
              <select class="form-control"  (ngModelChange)="onSelected($event)"  id="sel1">
                  <option *ngFor="let stock_name of stock_names" [value]="stock_name.stockName">{{stock_name.stockName}}</option>
                </select>
          </div>  
        </div>

  </div>

 <div class="row">
     <div class="container set_buttons_div" >
           <div class="form-group row">
             <div class="col-xs-2">
               <input class="form-control" id="ex1" type="text">
               <br>
             </div>  
           </div>
       </div>
 </div>
 <br>
 <div class="row">
         <a  class="btn btn-sq-lg btn-success b_s_buttons" (click)="formSubmit(e)">
                 <i class="glyphicon glyphicon-thumbs-up fa-5x"></i><br/>
                 Buy
               </a>
 </div>
 <br>

   </form>

rightcomponent.component.ts

formSubmit(e){

     var stock = this.onSelected(e);
     console.log(stock);
      var quantity =  e.target.elements[0].value;
     console.log(quantity);
   }


  onSelected(e){
    var stock_company_name = e;
return stock_company_name;
  }

最佳答案

我会以这种方式创建组件,我不知道如何创建 plunker/fiddler,但是两种方式绑定(bind)现在适合您。我是这样创建的。 :D

<!--Form start-->
  <form #myForm="ngForm" novalidate>
  <div class="row">

      <div class="form-group row">
          <div  style="margin-left: 60px;margin-right:50px ">
          <select class="form-control"  (change)="onSelected($event)" id="sel1" name="stock" [(ngModel)]="Model.stockname">
              <option *ngFor="let stock_name of stock_names" [value]="stock_name.stockName">{{stock_name.stockName}}</option>
          </select>
          </div>  
        </div>

  </div>

 <div class="row">
     <div class="container set_buttons_div" >
           <div class="form-group row">
             <div class="col-xs-2">
               <input class="form-control" id="ex1" type="text" name="companyName" [(ngModel)]="Model.companyname">
               <br>
             </div>  
           </div>
       </div>
 </div>
 <br>
 <div class="row">
    <a  class="btn btn-sq-lg btn-success b_s_buttons" (click)="formSubmit()">
     <i class="glyphicon glyphicon-thumbs-up fa-5x"></i><br/>
     Buy
   </a>
 </div>
 <br>
</form>

rightcomponent.component.ts

// create an Object model with  form fields as key
Model = {
    stockname: '',
    companyname: ''
}

formSubmit(){
    console.log(this.Model);
   }

关于javascript - 从提交 Angular 6 获取 HTML 选择值和输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50998333/

相关文章:

javascript - 端口转发路由器监听家用电脑上的 node.js 服务器

javascript 图像平移 'blocking' 导航链接并使 div 元素不透明

javascript - Angular2 Injectables 和创建实例是否相同?

javascript - 在 Angular 项目上安装 Bootstrap

javascript - 当我在 Angular 6 中将其设置为可编辑内容时,如何将焦点设置在该元素上?

javascript - 如何更改地址栏中的 URL

javascript - 使用输入按钮将文本替换为另一个文本

spring-security block websocket (sockjs)

angular - gtag 自定义维度未被 Google Analytics(分析)拾取

angular - 获取选择一个菜单的默认值