我在laravel 5.4.22中构建一个基本表单,但未提交,当我单击“提交”时,它停留在同一页面上,只是将url更改为其他内容
我用这条路线
Route::post('/contact/submit', 'MessagesController@submit');
这是我使用的控制器
`<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MessagesController extends Controller
{
public function submit(Request $request){
this->validate($request, [
'name' => 'required',
'email' =>'required'
]);
return 'SUCCESS';
}
}; `
这是我的联系表格
@extends('layouts.app')
@section('content')
<H1>Contact</H1>
{!! Form::open(['action'=>'MessagesController@submit','method'=>'post']) !!}
<div class="form-group">
{{Form::label('name', 'Name')}}
{{Form::text('name', '', ['class' => 'awesome form-control', 'placeholder' => 'Enter name'] )}}
</div>
<div class="form-group">
{{Form::label('email', 'E-Mail Address')}}
{{Form::text('email', '', ['class' => 'awesome form-control', 'placeholder' => 'Enter Email id'])}}
</div>
<div class="form-group">
{{Form::label('messages', 'Message')}}
{{Form::textarea('message', '', ['class' => 'form-control', 'placeholder' => 'Enter your message here'])}}
</div>
<div>
{{Form::submit('Submit', ['class'=> 'btn btn-primary'])}}
</div>
{!! Form::close() !!}
@endsection
,这是我连接其他内容的主页
<!DOCTYPE html>
<html>
<head>
<title>Dradz</title>
<link rel="stylesheet" type="text/css" href="/css/app.css">
</head>
<body>
@include('inc.navbar')
<div class="container">
@if(Request::is('/'))
@include('inc.showcase')
@endif
<div class="row">
<div class="col-md-8 col-lg-8">
@include('inc.messages')
@yield('content')
</div>
<div class="col-md-4 col-lg-4">
@include('inc.sidebar')
@show
</div>
</div>
</div>
<footer id="footer" class="text-center">
<p>Copyright 2017 © Dradz</p>
</footer>
</body>
</html>
最佳答案
尝试在网址的开头添加斜杠并将方法设置为“ POST”
{!! Form::open(['url' => '/contact/submit', 'method'=>'POST']) !!}
我也建议您为所有路线命名,例如:
Route::post('/contact/submit', 'MessagesController@submit')->name('messages.submit');
然后您可以在表格中使用它:
{!! Form::open(['route' => 'messages.submit', 'method'=>'POST']) !!}