首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel格式html和PUT方法用于PUT路线

Laravel格式html和PUT方法用于PUT路线
EN

Stack Overflow用户
提问于 2015-01-26 01:35:38
回答 8查看 150.5K关注 0票数 46

我的路线上有这样的东西:

代码语言:javascript
复制
+--------+---------------------------+--------------+---------------------------                                                                                                                ---------+----------------+---------------+
| Domain | URI                       | Name         | Action                                                                                                                                             | Before Filters | After Filters |
+--------+---------------------------+--------------+---------------------------                                                                                                                ---------+----------------+---------------+
|        | GET|HEAD /                |              | postcontroller                                                                                                                                     | auth           |               |
|        | GET|HEAD login            |              | homecontroller@dologin                                                                                                                             |                |               |
|        | POST login                |              | homecontroller@dologin                                                                                                                             |                |               |
|        | GET|HEAD logout           |              | homecontroller@dologout                                                                                                                            |                |               |
|        | GET|HEAD post             | post.index   | postcontroller@index                                                                                                                               |                |               |
|        | GET|HEAD post/create      | post.create  | postcontroller@create                                                                                                                              |                |               |
|        | POST post                 | post.store   | postcontroller@store                                                                                                                               |                |               |
|        | GET|HEAD post/{post}      | post.show    | postcontroller@show                                                                                                                                |                |               |
|        | GET|HEAD post/{post}/edit | post.edit    | postcontroller@edit                                                                                                                                |                |               |
|        | PUT post/{post}           | post.update  | postcontroller@update                                                                                                                              |                |               |
|        | PATCH post/{post}         |              | postcontroller@update                                                                                                                              |                |               |
|        | DELETE post/{post}        | post.destroy | postcontroller@destroy 

现在,我想创建一个使用PUT方法的表单html。这是我的密码:

代码语言:javascript
复制
<form class="col-md-12" action="<?php echo URL::to('/');?>/post/<?=$post->postID?>" method="put">
    <div class="form-group">
        <textarea type="text" class="form-control input-lg" placeholder="Text Here" name="post"><?=$post->post?></textarea>
    </div>
    <div class="form-group">
        <button class="btn btn-primary btn-lg btn-block" type="submit" value="Edit">Edit</button>
    </div>
</form>     

但我并不打算将表单提交到post.edit。

我搜索过了,我得到了我必须使用的解决方案

代码语言:javascript
复制
{{form:...etc

但是,我希望表单仍然可以通过CSS样式来完成。有什么解决办法吗?谢谢

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2015-01-26 02:45:16

您可以添加css类和刀片模板所需的任何类型的属性,尝试如下:

代码语言:javascript
复制
{{ Form::open(array('url' => '/', 'method' => 'PUT', 'class'=>'col-md-12')) }}
.... wathever code here
{{ Form::close() }}

如果你不想走刀刃的路,你可以添加一个隐藏的输入。这就是Laravel所做的表格,无论如何:

注意:由于HTML只支持POST和GET,PUT和DELETE方法将通过自动向表单中添加_method隐藏字段而被欺骗。(Laravel docs)

代码语言:javascript
复制
<form class="col-md-12" action="<?php echo URL::to('/');?>/post/<?=$post->postID?>" method="POST">

    <!-- Rendered blade HTML form use this hidden. Dont forget to put the form method to POST -->

    <input name="_method" type="hidden" value="PUT">

    <div class="form-group">
        <textarea type="text" class="form-control input-lg" placeholder="Text Here" name="post"><?=$post->post?></textarea>
    </div>

    <div class="form-group">
        <button class="btn btn-primary btn-lg btn-block" type="submit" value="Edit">Edit</button>
    </div>
</form>
票数 47
EN

Stack Overflow用户

发布于 2017-01-26 13:41:00

如果您正在使用method_field HTML表单元素而不是Laravel Form Builder,则必须在窗体开始标记和结束结束之间放置。通过这样做,您可以显式地定义表单方法类型。

代码语言:javascript
复制
<form>
{{ method_field('PUT') }}
</form>

适用于Laravel 5.1及以上

代码语言:javascript
复制
<form>
@method('PUT')
</form>
票数 66
EN

Stack Overflow用户

发布于 2018-07-16 05:52:23

就像这样在表单的某个地方使用

代码语言:javascript
复制
@method('PUT')
票数 53
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28143674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档