我试图用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!
我该怎么做呢?
1条答案
按热度按时间u4dcyp6a1#
由于您使用的是Knockout,因此您不需要直接更新元素的值。您的代码中的
document.getElementById('signatureField' + i).value = data;
应该替换为viewModelObject.signature(data);
,其中viewModelObject
是视图模型对象的名称。