javascript - 使用javascript点击重复表单
问题描述
addDetails() {
const divCreate = document.createElement('div');
divCreate.appendChild(document.createTextNode('Some text'));
divCreate.setAttribute('class', 'bg-secondary');
document.getElementById('mainForm').appendChild(divCreate);
}
附上的图片是我的表单,onclick 我想添加类似的表单,完成后会将所有值提交给 db。
解决方案
您可以通过以下方式执行此操作(您也需要添加验证,但这是一个简单的工作演示https://stackblitz.com/edit/angular-p3cztw):
html代码
<div *ngFor="let item of formDataList;let i = index;">
<form >
<input type="text" [(ngModel)]="item.detail" name="detail" />
<input type="text" [(ngModel)]="item.amount" name="amount" />
<input type="date" [(ngModel)]="item.date" name="date" />
<button (click)="removeItem(item)"> remove </button>
</form>
</div>
<form #addForm="ngForm" >
<input type="text" [(ngModel)]="data.detail" name="detail" />
<input type="text" [(ngModel)]="data.amount" name="amount" />
<input type="date" [(ngModel)]="data.date" name="date" />
<br/>
<button (click)="addItem(data)"> add </button>
</form>
TS代码:
public data = { };
public formDataList = [];
addItem($item){
this.formDataList.push($item)
this.data = {};
}
removeItem($item){
this.formDataList.splice( this.formDataList.indexOf($item),1)
}
推荐阅读
- javascript - 使用 Webpack Encore 时 Vue 组件中的图像
- javascript - React,TypeScript:键入事件
- python - 如何从来宾操作系统获取 .vmx 文件中的 uuid.location
- reactjs - 如何在 Create-react-app 应用程序中包含自定义脚本文件
- sed - sed 删除花括号之间的部分
- powershell - 获取windows服务失败动作值
- authentication - Twilio 两因素身份验证是否支持对特定扩展的调用
- xamarin - Xamarin 形成警告
- javascript - NodeJS:基于 MongoDB 条目在特定时间发送大量文本的最佳方式?
- laravel - 防止在两次输入时提交多个表单