javascript - 在 html2canvas 事件中设置隐藏字段的值

标签 javascript jquery grails html2canvas

我在 html2canvas onrendered 事件中设置隐藏字段的值时遇到问题。

这是我的代码片段:

js:

function saveCanvas()
{
    var data = null;
    html2canvas([document.getElementById('hidTest')],
    {
        onrendered: function(canvas)
        {
            data = canvas.toDataURL('image/png');
            alert(data);
            jQuery("input[name='hid']").val(data);
            alert(jQuery('#hid').val());
        }
    });
    alert(data);
}

html:

...
<g:hiddenField name="hid"/>
...

我注意到的是,onrendered 事件之外的警报将首先触发。另外,在 onrendered 事件中的警报(数据)中,我看到数据是正确创建的,但它没有分配给隐藏字段(hid),并且“alert(jQuery('#hid').val())”向我展示了这一点我的hiddenField 未定义。我将非常感谢您的帮助!

最佳答案

我找到了解决方案。我认为 jQuery 太慢了?纯 js 工作正常:

而不是这个:

html2canvas([document.getElementById('hidTest')],
{
    onrendered: function(canvas)
    {
        data = canvas.toDataURL('image/png');
        jQuery("input[name='hid']").val(data);
    }
});

我用这个:

html2canvas([document.getElementById('hidTest')],
{
    onrendered: function(canvas)
    {
        var dataBind = document.getElementById('hid');
        data = canvas.toDataURL('image/png');
        dataBind.value = data;
    }
});

编辑

这有点奇怪,但类似的东西也可以正常工作:

html2canvas([document.getElementById('hidTest')],
{
    onrendered: function(canvas)
    {
        jQuery("input[name='hid']").val(canvas.toDataURL('image/png'));
    }
});

关于javascript - 在 html2canvas 事件中设置隐藏字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26460883/

相关文章:

javascript - PHP无限随机数生成器,无需刷新页面

javascript - JavaScript 的安全性 : Edit JS code for form validation in browser then submit the form

javascript 自动链接 url 但避免递归

javascript - Angular 将一个元素附加到指令内当前元素的子元素

grails - grails 命令对象中的错误

javascript - 通过击键调整innerHTML后,内容可编辑Div变为只读?

jQuery 使用动态数量的字段进行验证

javascript - JQuery 节点检查是否不为空

hibernate - 注释 Controller 方法以使Hibernate session “read-only”

angular - SPA Angular index.html 未更新缓存(我使用缓存破坏)