首页 > 解决方案 > 带有post方法的Laravel表单未提交

问题描述

我有一个张贴标题和正文的表格。当我提交时,什么也没有发生。我有一个csrf字段,我正在使用 post 方法。

我尝试了许多不同的方式来声明动作和方法。我也尝试以csrf不同的方式调用该领域。这些都没有奏效。

路线:

Route::resource('/posts', 'PostsController');

创建.blade.php

<form action="{{route('posts.store')}}" method="POST">
    @csrf
    // removed @method('POST')
    <div class="form-group">
        <label for="title">Title</label>
        <input type="text" name="title" class="form-control" placeholder="Title">
    </div>
    <div class="form-group">
        <label for="body">Body</label>
        <textarea name="body" placeholder="Body" class="form-control" cols="30" rows="10"></textarea>
    </div>
    <input type="button" name="submit" value="Submit" class="btn btn-primary">
</form>

帖子控制器:

public function store(Request $request)
    {
        return "Form posted";
    }

岗位型号:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // 
}

在这里,我有所有可用的路线: php工匠路线:列表

PostsController 中的 store 函数是空的。所以我希望在提交时收到一个空页面,但什么也没发生。

标签: htmllaravelformssubmit

解决方案


dilip hirapara在评论中给出了解决方案。

我删除了:

<input type="button" name="submit" value="Submit" class="btn btn-primary"> 

并补充说:

<button type="submit" class="btn btn-primary"> Submit </button>

推荐阅读