jEditable响应处理问题

时间:2016-08-30 05:10:03

标签: javascript json jeditable

我有一堆看起来像这样的html - 只显示一个,因为它只需要它:

<tr>
 <td>Name of Organisation:</td>
 <td class="edtext" id="organisation"><?=$aRes[0]['organisation']?></td>
</tr>

在页面的头部我有这个:

$(function() {
    $(".edtext").editable("./editHandler/WRITE.update.php?uaID=<?=$uaID?>", {
        event       : 'dblclick',
        dataType    : "json",
        placeholder : '',
        indicator   : 'Saving...',
        cssclass    : 'editable',
        submit      : 'Save',
        cancel      : 'Cancel',
    });
});

我可以通过双击然后编辑我已经给出id =“organization”的td字段将内容成功发送到数据库中,就好了。

在处理这个问题的php的后端位,直接在DB函数运行正常后,我有:

header('Content-type: application/json');

(剪辑数据库更新代码 - 它工作正常)

$report = array();
$report['organisation'] = $userInput;
$report['result'] = "&#10004;";
echo json_encode($report);

同样的php将它的标题设置为:

因此,一旦输入并保存到可编辑表格单元格中的文本输入数据库,上面的内容就会发送回前端('Hello World'是输入的示例文本):

{"organisation":"Hello World","result":"&#10004;"}

然后在td单元格中显示编辑发生的内容是:

{"organisation":"Hello World","result":"✔"}

这不是想要的。 tick是&#10004;应该是什么,但我的意思是我想要显示“Hello World”部分(当然没有引号),结果显示在带有id的span或div中=“结果”,在页面的其他地方。

我已经读过我需要使用jEditable callback选项,但我找不到任何如何执行此操作的示例。我对JS不是很有信心,并希望有人在正确的方向上推我。功能实例欢迎。

顺便说一下,我需要能够将这个JS用于多个文本字段,而不是每个需要编辑访问权限的数据单元都有单独的JS条目。

1 个答案:

答案 0 :(得分:0)

我通过添加:

解决了这个问题
        callback    : function() {
            location.reload();
        },

进入:

    $(".edtext").editable("./editHandler/WRITE.update.php?uaID=<?=$uaID?>", {
        event       : 'dblclick',
        dataType    : "json",
        placeholder : '',
        indicator   : 'Saving...',
        cssclass    : 'editable',
        submit      : 'Save',
        cancel      : 'Cancel',
    });
});

部分,以便最终结果是:

$(".edtext").editable("./editHandler/WRITE.<?=$appKey?>.php?uaID=<?=$uaID?>", {
    callback    : function() {
        location.reload();
    },
    event       : 'dblclick',
    placeholder : '',
    indicator   : 'Saving...',
    cssclass    : 'editable',
    submit      : 'Save',
    cancel      : 'Cancel',
});

因为垃圾查看输出不是来自数据库中实际保存的内容,因此成功发布后的新负载意味着页面显示为干净。

这不是一个很好的工作,但它有效并且不依赖讨厌的黑客。