【问题标题】:Submitting Modal Form not working in Laravel提交模态表单在 Laravel 中不起作用
【发布时间】:2017-07-27 16:03:28
【问题描述】:

我正在尝试在 Laravel 中提交模态表单。由于某种原因,它不起作用。下面是我的模态表单代码。

<div class="modal-body">
            <div class="alert alert-warning alert-dismissible fade show" role="alert">
              <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <span aria-hidden="true">&times;</span>
              </button>
              <strong>Hurry!</strong> Early bird registration ends in 2 days.
            </div>
            {{-- Registration form goes here --}}
            <form action="{{ url('contact')}}" method="POST">
              {{ csrf_field() }}
              <h5 class="mb-2">Basic Info</h5>
              <div class="form-group">
                <label for="name">Name:</label>
                <input type="name" class="form-control" id="name">
              </div>
              <div class="form-group">
                <label for="email">Email:</label>
                <input type="email" class="form-control" id="email">
              </div>
              <div class="form-group">
                <label name="message">Message:</label>
                <input id="subject" name="subject" class="form-control">
              </div>

现在我的路线如下:

Route::get('contact', 'PagesController@getContact');
Route::post('contact', 'PagesController@postContact');

在我的控制器中,我有以下代码:

public function getContact()
{
  return view('pages.contact');
 }
  public function postContact(Request $request)
 {
   $this->validate($request,
  ['email'=>'required|email',
'name'=> 'min:3',
'message'=> 'min:10']);
$data = array(
  'email' => $request->email,
  'name' => $request->name,
  'bodyMessage'=> $request->message
);
Mail::send('emails.contact', $data, function($message) use ($data){
  $message->from($data['email']);
  $message->to('sammie@me.com');
  $message->subject($data['name']);
});
return redirect('/')->with('success', 'Thanks! Your message has been sent');
}

因为它是一种模态形式,我还需要做其他事情吗?

【问题讨论】:

  • 你得到什么错误?

标签: php forms bootstrap-modal laravel-5.4


【解决方案1】:

您在姓名和电子邮件中没有姓名属性,请将主题更改为消息

<form action="{{ url('contact')}}" method="POST">
    {{ csrf_field() }}
    <h5 class="mb-2">Basic Info</h5>
    <div class="form-group">
       <label for="name">Name:</label>
       <input type="name" name="name" class="form-control" id="name">
    </div>
    <div class="form-group">
       <label for="email">Email:</label>
       <input type="email" name="email" class="form-control" id="email">
    </div>
    <div class="form-group">
       <label name="message">Message:</label>
       <input id="subject" name="message" class="form-control">
    </div>

【讨论】:

  • 现在必须弄清楚如何进行选择。感谢您对劳山的帮助。
【解决方案2】:

您没有将name 属性赋予您的input 标签。当form 被提交时,每个值都用它的名字来标识。所以改变你的输入元素

<input type="name" class="form-control" id="name">
<input type="email" class="form-control" id="email">
<input id="subject" name="subject" class="form-control">

<input type="text" name="name" class="form-control" id="name">
<input type="email" name="email" class="form-control" id="email">
<input type="text" name="message" class="form-control" id="message">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2014-01-22
    相关资源
    最近更新 更多