AJAX qtip2 中的表单提交

AJAX Form submission inside qtip2

q:

如何在 qtip 声明中为 forms/html 操作 ajax 请求(或对象)?

详情:

现在,我有一系列 javascript 数据表(通过 django 后端填充),其中包含多行信息。每行都有一个单元格,其中包含一个用于 qtip (qtip2) 的按钮,用于弹出一个简单的表单,里面有一个用于注释的文本区域和一个提交按钮。这看起来很简单。

但是,我无法弄清楚如何在 class.

中 write/bind class 处理程序

这些提示中有很多是动态生成的(在动态数据表列块内),所以我不能使用硬选择器来访问它们。我在通过表单操作提交这些请求时没有遇到任何问题,但我真的更希望它们是 ajax.

$('.note_updater').each(function() {
        $(this).qtip({
            overwrite: false,
            content: {
              text: function(api) {
              return "<form><textarea type='text' name='notes' id='id_notes'>" + 
                      $(this).attr('qtip-content')  + "</textarea><br><input type='submit' value='Update' /></form>";

            },
            title: {
                text: function(api) { return $(this).attr('qtip-title') + ' notes'; },
                button: true
            }
        },
        show: {
            event: 'click',
            solo: true
        },
        hide: 'unfocus',
        events: {
            render: function(event, api) {
            $('form', this).bind('submit', function(event) {
                window.alert('sanity')
            });

            }
        },
    })
});

在此示例中,单击提交后,不会出现 'sanity' 警报。

此外,当我在内容 {} 块中添加按钮等对象时,我无法通过 class 访问这些对象。

qtips 工作正常,一切似乎都正常,但是当我尝试捕获提交时单击按钮或健全警报时没有响应。

控制台没有错误。

这应该很简单,但这让我抓狂!任何帮助,将不胜感激。

虽然我放弃了 qtips 以支持或为我自己的问题构建更好的基础解决方案,但我最终找到了解决这个问题的愚蠢简单的解决方案。

然而,最简单的事情就是做这样的事情

只需在调用 onclick 函数的 qtip 中包含一个锚标记。

<a onclick="doSomething()">Submit</a>

def doSomething(){ <do jquery magic here> }

哦!简单的。