#php #laravel
#php #laravel
Вопрос:
Я создал контактную форму в laravel 7, и одно из полей — это выпадающий список простого выбора, он выглядит так:
<select name="subject" id="subject" class="form-control">
<option value="">Select ...</option>
<option value="gen">General</option>
<option value="sales">Sales</option>
</select>
Когда я отправляю форму, я получаю электронное письмо с содержимым, которое пользователь заполнил в форме. Когда выбран параметр, в электронном письме отображается значение. Я хотел бы отобразить фактическое содержимое опции выбора. Таким образом, должно отображаться не «gen», а «General».
Вот мой код контроллера:
public function contactSubmit(Request $request)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required|email',
'subject' => 'required',
'msg' => 'min:10'
]);
$data = array(
'name' => $request->name,
'email' => $request->email,
'subject' => $request->subject,
'msg' => $request->msg
);
Mail::send('emails.contactemail', $data, function($msg) use($data) {
$msg->from($data['email']);
$msg->to('mail@gmail.com');
$msg->subject('Contact us');
});
}
Это содержимое блейда для отправляемого электронного письма:
<strong>From:</strong> {{$name}}
<br>
<strong>Subject:</strong> {{$subject}}
<br>
<strong>Email:</strong> {{ $email }}
<br><br>
<strong>Message:</strong> <br><br>
{{ $msg }}
Комментарии:
1.
<option value="General">General</option>
?2. возникнет ли проблема, если вы используете «General» вместо «gen» в своем значении параметра?
3. И какой у вас вопрос по этому поводу? Почему бы не сопоставить эти значения в вашем контроллере?
Ответ №1:
Вы можете не указывать атрибут value, делая это, значение берется из текстового содержимого элемента option.
<select name="subject" id="subject" class="form-control">
<option value="">Select ...</option>
<option>General</option>
<option>Sales</option>
</select>
Взгляните на элемент docs Option
Ответ №2:
Укажите значение в опции, чтобы получить правильный вывод
<select name="subject" id="subject" class="form-control">
<option value="">Select ...</option>
<option value="General">General</option>
<option value="Sales">Sales</option>
</select>