Mockjax мешает X-редактируемому обновлению (AJAX)
$(function(){
//enable / disable
$('#enable').click(function() {
$('#user .editable').editable('http://domain.com/update.php');
});
//modify buttons style
$.fn.editableform.buttons =
'<button type="submit" class="btn btn-success editable-submit btn-mini"><i class="icon-ok icon-white"></i></button>' +
'<button type="button" class="btn editable-cancel btn-mini"><i class="icon-remove"></i></button>';
//editables
$('.remarks').editable({
url: 'http://domain.com/update.php',
display: function(value, response) {
//render response into element
$(this).html(response);
}
});
//ajax emulation.
$.mockjax({
url: 'http://domain.com/update.php',
responseTime: 400,
response: function(settings) {
this.responseText = settings.data.value;
}
});
});
Без использования Mockjax обновление строки MySQL работает, но элемент на странице html не обновляется.
Если я использую Mockjax, элемент на HTML-странице обновляется, но строка MySql не обновляется.
Есть ли обходной путь для этого?
Большое спасибо.
1 ответ
Решение
Почему вы используете mockjax? Из того, что я понимаю, mockjax только для макетных целей, вы должны использовать ajax. Вот так:
$('#a').editable({
validate: function(value) {
if($.trim(value) == '') return 'This value is required.';
},
type: 'text',
url: '/post',
pk: '123', // id of the row in your db...
title: 'Enter Value',
params: function(params) {
var data = {};
data['id'] = line;
data['field'] = params.name;
data['value'] = params.value;
return data;
},
ajaxOptions: {
dataType: 'json'
},
display: function(value, response) {
$(this).text(response.new_value_from_server);
},
success: function(response, newValue) {
// output what ever you want here if the submit was successfull...
}
});