我拥有的内容:
某些页面中有多条评论。每个用户都可以修改他的所有评论。
$.each(comments, function() {
this.editable({
type: 'textarea',
mode: 'inline',
onblur: 'submit',
showbuttons: false,
inputclass: 'edit-comments-text-input',
validate: function(value) {
if (!value.trim()) {
return 'Can not be empty!'; //DON'T CLOSE THE EDITABLE AREA!!!
}
},
success: function(response, newValue){
comment.text = newValue.trim();
});
});
出了什么问题:
如果用户输入空字符串,则验证失败。但是可编辑区域不会被关闭,因此用户可以继续前进并编辑下一个评论,并保留前一个评论区域。
的问题: 的
如何在验证失败时关闭编辑文本区域?
答案 0 :(得分:0)
我读了一些源代码,然后把它排序了。
重要的一点是:
$('.editable-open').editableContainer('hide', 'cancel');
所以在上面的例子中,这将是:
$.each(comments, function() {
this.editable({
type: 'textarea',
mode: 'inline',
onblur: 'submit',
showbuttons: false,
inputclass: 'edit-comments-text-input',
validate: function(value) {
if (!value.trim()) {
$('.editable-open').editableContainer('hide', 'cancel');
return 'Can not be empty!'; //DOES NOW CLOSE THE EDITABLE AREA!!!
}
},
success: function(response, newValue){
comment.text = newValue.trim();
});
});