【发布时间】:2016-04-30 04:26:10
【问题描述】:
我在“编辑视图”中使用 Basecamp 提供的非常简单的实现 Trix Editor。
如何在不让用户通过更新按钮进行交互的情况下自动更改保存?
我正在考虑这样的事情: (旧脚本)
window.setInterval(function() {
localStorage["editorState"] = JSON.stringify(element.editor)
}, 5000);
我真正想做的事:
向 Rails 服务器发布一个 ajax “发布”请求。类似:
$('trix-editor').on('blur', function() {
var sendname = $('#note_name').val();
var sendlink = $('#linkinput').val();
var sendnote = $('input[name="note[note]"]').val();
$.ajax({
type: "POST",
url: "/notes",
data: { note: { name: sendname, link: sendlink, note: sendnote } },
success: function(data) {
alert(data.id);
return false;
},
error: function(data) {
return false;
}
});
(身份验证和设计也存在问题。只有登录后才能发送 ajax 发布请求 ..??)
更好的办法是在用户修改一些数据的时候才保存修改,然后等待5s,然后通过json将更新的数据推送到服务器。我不知道该怎么做...
PS:很想用“trix-editor”标签来标记这个问题,抱歉没有足够的代表这样做......
【问题讨论】:
-
我已经更新了答案的语法。这有点棘手。如果没有隐藏的输入字段,您将无法获得 trix-editor 的纯文本。您必须从 trix-editor 访问带有 id 的文本,而不是从隐藏的输入字段。
标签: ruby-on-rails trix