我一直在Laravel中制作表单,作为youtube上的博客教程的一部分:https://www.youtube.com/watch?v=kmCtXryFwDc。我正在使用Laravel 5.3和Firefox。我已经创建了一个表单,该表单应该提交更新,以更新博客站点上的帖子。当我单击提交按钮时,我的浏览器中没有任何反应。它的行为没有区别,如果我的提交按钮只有css应用于它而没有其他属性或锚标签。
我忘记了这里简单的事情,还是我刚刚切换到的新版Firefox有什么奇怪的东西?
帖/ update.blade.php:
@extends('main')
@section('title', '| Edit Post')
@section('stylesheets')
<link href="{{ secure_asset('css/parsley.css') }}" rel="stylesheet">
@endsection
@section('content')
<div class="form" method="POST" action="{{ route('posts.update', $post->id) }}">
<div class="row">
<div class="col-12 col-md-8">
<input type="text" class="form-control" name="title" value="{{ $post->title }}"/>
<hr>
<textarea class="form-control" name="body" rows="10">{{ $post->body }}</textarea>
</div>
<div class="col-12 col-md-4">
<div class="card border-light text-center">
<div class="card-header"><strong>Post Info</strong></div>
<div class="card-body">
<dl class="row end">
<dt class="col-4">Created:</dt>
<dd class="col-8">{{ date('M j, Y g:i', strtotime($post->created_at)) }}</dd>
<dt class="col-4">Updated:</dt>
<dd class="col-8">{{ date('M j, Y g:i', strtotime($post->updated_at)) }}</dd>
</dl>
<hr>
<div class="row">
<div class="col-12 col-sm-6">
<button type="submit" class="btn btn-success btn-block">Update</button>
</div>
<div class="col-12 col-sm-6">
<a href="{{ route('posts.destroy', $post->id) }}" class="btn btn-info btn-block">Cancel</a>
</div>
{{ Form::token() }}
{{ method_field('PUT') }} <!-- generates hidden field that sets the form method to PUT because HTML5 doesn't support it -->
</div>
</div>
</div>
</div>
</div>
</div>
@stop
@section('scripts')
<script src="{{ secure_asset('js/parsley.min.js') }}"></script>
@stop
答案 0 :(得分:0)
<div class="form" method="POST" action="{{ route('posts.update', $post->id) }}">
将其更改为
<form class="form" method="PUT" action="{{ route('posts.update', $post->id) }}">
如果这是表单,则必须以表单标记开头。
同样在laravel框架中,您可以使用laravel集体表单。这是docs