knockout.js 在KnockoutJs中未检测到文本

nom7f22z  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(172)

我试图用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();
    });

此代码将以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"
      }
    ]
  }
]

如果我在textarea字段中手动写入一个“#”,例如:


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

将base64添加到Json!
我该怎么做呢?

u4dcyp6a

u4dcyp6a1#

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

相关问题