我正在研究一些简单的形式,将其从 bootstrap 转换为 Material。
尽管我使用的是 Angular 6,但表单在提交时以旧样式发布(没有使用任何 Angular 表单)
<form method="post" action="http://api.example.com/submit" id="user_form">
<mat-form-field>
<input matInput placeholder="name" name="username">
</mat-form-field>
<mat-radio-group required>
<mat-radio-button name="company" value="company1">company 1</mat-radio-button>
<mat-radio-button name="company" value="company2">company 2</mat-radio-button>
</mat-radio-group>
<button type="submit">submit</button>
</form>
为简单起见,我想保持这种方式,并且我不想使用任何 javascript 来提交此表单(没有模板驱动的表单或响应式(Reactive)表单)。
输入在向输入添加名称属性时效果很好,当我发布表单(单击提交按钮)时,它按预期发送到服务器。
至于 mat-radio,此数据不会在发布数据中发送到服务器。我猜前者是 native 输入,其中 mat-radio-button 是一个组件。
有没有办法让它工作? (同样,不在 TS 端处理表单 POST)
最佳答案
尝试这样的事情
在 html 中
<mat-radio-group formControlName="gender">
<mat-label>Gender:</mat-label>
<mat-radio-button color="primary" value="male">Male</mat-radio-button
>
<mat-radio-button color="primary" value="female">Female</mat-radio-button>
</mat-radio-group>
在 ts 中
this.signupForm = new FormGroup({
gender: new FormControl("", Validators.required),
});
关于angular - 简单表单 POST 的 Material mat-radio-button name 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53975321/