在 KnockoutJs 中未检测到文本

Text is not detected in KnockoutJs

我正在尝试使用 knockoutJs 生成 Json,但在创建 Json 之前,我在文本区域中传递了一个 Base64 图像,但 Knockout 无法识别它。

    document.getElementById('SubmitButton').addEventListener('click', function () {
        for (var i = 1; i < initialData.length + 1; i++) {
            var data = arrayOfSignaturePads[i].toDataURL('image/png');
            document.getElementById('signatureField' + i).value = data;
        }

        document.getElementById('submitButton2').click();
    });

此代码将 base 64 写入

<textarea data-bind='attr :{ id: "signatureField"+id}, value:signature'></textarea>

我在 textarea 字段中有这个 Base64 数据:

data:image/png;base64,iVBO..

但是我得到这个Json,签名属性为空白

[
  {
    "id": 1,
    "department": "Sunset",
    "responsible": "Daniel",
    "signature": "",
    "tasks": [
      {
        "description": "Clean",
        "date": "10/21/2019"
      }
    ]
  }
]

例如,如果我在文本区域字段中手动写入“#”:

#data:image/png;base64,iVBO..

将base64添加到Json!

我该如何解决? :(

由于您使用的是 Knockout,因此不会直接更新元素的值。带有 document.getElementById('signatureField' + i).value = data; 的代码应替换为 viewModelObject.signature(data);,其中 viewModelObject 是视图模型对象的名称。