Apppxu
Постоялец
- Регистрация
- 2 Апр 2013
- Сообщения
- 84
- Реакции
- 6
- Автор темы
- #1
Здравствуйте.
С Laravel столкнулся впервые и сразу много вопросов.
Суть в том что при отправке сообщения с формы он просто редиректит обратно на страницу.
А нужно хотяб какоето сообщение - "Ваше сообщение успешно отправлено" ну и минимальная валидация полей. сейчас и с пустими отправляет
С Laravel столкнулся впервые и сразу много вопросов.
Суть в том что при отправке сообщения с формы он просто редиректит обратно на страницу.
А нужно хотяб какоето сообщение - "Ваше сообщение успешно отправлено" ну и минимальная валидация полей. сейчас и с пустими отправляет
PHP:
public function order_call(Request $request)
{
$rules = [
'name' => 'required',
'phone' => 'required'
];
$messages = [
'name.required' => 'Пожалуйста введите имя',
'phone.required' => 'Пожалуйста введите телефон',
];
$this->validate($request, $rules, $messages);
$name = $request->name;
$phone = $request->phone;
Mail::send('emails.order_call', ['name' => $name, 'phone' => $phone], function ($m) use ($request) {
$from = 'noreply@euromining.su';
$name = 'Euro Mining';
$to = 'info@euromining.su';
$subject = $request->name .' заказал звонок';
$m->from($from, $name);
$m->to($to)->subject($subject);
});
return redirect()->back();
}
HTML:
<div class="firstForm">
<form action="{{ route('order_call') }}" method="post">
{{ csrf_field() }}
<input type="text" placeholder="Ваше имя" name="name">
<input type="text" placeholder="Ваш телефон" name="phone">
<button id="send" type="submit">сделать заявку <span>→</span></button>
</form>
</div>
Код:
https://euromining.su
Код:
$('button#send').click(function() {
if ($('input[name=agreement]').is(':checked')) {
var str = $('#firstForm > form').serializeArray(); // Собираем все данные формы
$.ajax({
type: "POST",
url: "/sendmail",
data: str,
success: function(msg) {
if (msg) {
json = $.parseJSON(msg);
if (json.result) {
$('#tourForm').html('<div id="success-send-order">Успешно отправлено</div>');
} else if (json.errors) {
$('#firstForm form input').css('border', 'none');
$.each(json.errors, function(key) {
$('#firstForm form input[name="' + key + '"]')
.css('border', "1px solid red");
});
}
} else {
alert('Ошибка ответа ajax');
}
}
});
} else {
alert('Нужно принять условия оферты');
}
return false;
});
Последнее редактирование модератором: