Код контроллера и модели тут лишние. Проблема именно здесь:
{
firstname: $('input[name="name"]').val(),
telephone: $('input[name="tel"]').val(),
service: $('input[name="service"]').val(),
},
Значения берутся самые первые, а не из той формы, которая нужна. Вариантов несколько. Я, как слабенький во фронтенде, подскажу самый "тупой" вариант.
$(document).ready(function() {
$('[type="submit"]').on('click', function() {
$.ajax({
url: 'index.php?route=demo/test&language=ru-ru',
type: 'POST',
dataType: 'json',
data: {
firstname: $(this).parents('form').find('input[name="name"]').val(),
telephone: $(this).parents('form').find('input[name="tel"]').val(),
service: $(this).parents('form').find('input[name="service"]').val(),
},
success: function(data) {
if(data.success) {
alert("Заметка добавлена!")
} else {
alert("Ошибка записи!")
}
}
});
});
});
Есть решения элегантнее, но просто непонятно, есть ли доступ к редактированию html, например