Ok, here comes my controller code: its in the contact-send.php file:
<?php
return function($site, $pages, $page) {
$form = uniform(get('_id'), array(
'required' => array(
'name' => '',
'_from' => 'email',
'message' => '',
),
'actions' => array(
array(
'_action' => 'email',
'to' => 'mail@domain.com',
'sender' => 'mail@domain.com',
'subject' => 'New Message',
'snippet' => 'uniform/uniform-contact'
),
array(
'_action' => 'log',
'file' => 'log/contact-form.log'
)
)
)
);
return compact("form");
};
The error I get shows just in the console:
POST "[...]/contact/send" 500 (Internal Server Error)
send @ jquery-1.11.2.min.js:4
m.extend.ajax @ jquery-1.11.2.min.js:4
m.(anonymous function) @ jquery-1.11.2.min.js:4
(anonymous function) @ support:278
m.event.dispatch @ jquery-1.11.2.min.js:3
r.handle @ jquery-1.11.2.min.js:3
And I didn’t change anything in the contact-send.php (JSON template).
And here my javascript:
<script type="text/javascript">
window.onload = function () {
var ids = ["<?php echo implode('","', array_keys($page->structurefield()->yaml())) ?>"];
for (var i = ids.length; i >= 0; i--) {
$('#form-submit-' + ids[i]).click(function (e) {
e.preventDefault();
$.post(
'<?php echo $page->children()->find('send')->url()?>',
$('#form-' + ids[i]).serialize()
)
.then(function (response) {
var feedback = $('#feedback-' + ids[i]);
feedback.removeClass('flash-success flash-error').text(response.message);
$('input, textarea').removeClass('erroneous');
if (response.success) {
feedback.addClass('flash-success');
$('input, textarea').prop('value', '');
$('#form-submit-' + ids[i]).prop('disabled', 'disabled');
} else {
feedback.addClass('flash-error');
for (var i = response.errors.length - 1; i >= 0; i--) {
$('[name="' + response.errors[i] + '"]').addClass('erroneous');
};
}
});
});
}
};
</script>
Is there anything missing? Thanks one time more for your time @mzur!