Javascript 将只读输入值发送到服务器(平均堆栈)

Javascript 将只读输入值发送到服务器(平均堆栈),javascript,node.js,angular,express,Javascript,Node.js,Angular,Express,我有一个表单,其中有一个只读字段和其他正常字段,如姓名、身高、体重、出生日期。我无法将只读字段的值发送到服务器(MongoDB)。在没有只读字段的情况下,我尝试发送表单,表单工作正常 我犯了一个错误 失败的{“错误”:{“id”:{“message”:“Pathid是需要的…”Pathid是需要的 必需。“,”名称“:“ValidationError”}” 当我尝试使用只读字段时 导出类HomeComponent{ getname=localStorage.getItem('key'); id

我有一个表单,其中有一个只读字段和其他正常字段,如姓名、身高、体重、出生日期。我无法将只读字段的值发送到服务器(MongoDB)。在没有只读字段的情况下,我尝试发送表单,表单工作正常

我犯了一个错误

失败的{“错误”:{“id”:{“message”:“Path
id
是需要的…”Path
id
是需要的 必需。“,”名称“:“ValidationError”}”

当我尝试使用只读字段时

导出类HomeComponent{
getname=localStorage.getItem('key');
id=Date.now()
构造函数(私有服务:RecordService){}
onsubmit(表格:NgForm){
this.service.postRecords(form.value).subscribe(res=>{
控制台日志(res);
});
}
}

欢迎{{getname}}
成员ID
名称
名称是必需的。
名称至少需要4个字符。
名称应仅包含字母,不包含空格。
出生日期
出生日期是必需的。
高度
高度是必需的。
重量
重量是必需的。
提交
重置

您可以使用“已禁用”而不是“只读”

我知道了,我刚刚更改了


有两种方法可以完成这项工作:

  • 您可以为只读字段创建一个隐藏字段,该字段的值将与只读字段绑定,因此一旦提交表单,隐藏输入将被传递。[请记住,将要传递的名称属性指定给隐藏字段,而不是只读字段,因为隐藏字段将被传递,而不是eh readonly字段]

  • 第二种方法是在对表单进行subumitating时从所有输入中删除disable属性。这样,您可以发送所有输入的值


  • 我认为这可以解决你的问题: