如何检查是否在laravel中提交了表单?

pkwftd7m  于 2023-05-19  发布在  其他
关注(0)|答案(7)|浏览(215)

我试图检查表单提交按钮是否被点击,所以我尝试:

if($request->input('submit')){
    //do something
    }

并尝试:

$clicked=$request->input('submit');
if(isset($clicked)){
    //do something
    }

也尝试过:

if($request->input('submit')!=null){
    //do something
    }

但是当我点击表单中的提交按钮时,if-inside的执行从未发生过,那么在laravel中检查提交按钮是否被点击的正确方法是什么?

u0sqgete

u0sqgete1#

检查是否设置了提交按钮的值。这可能是最简单的,我总是使用它。
HTML:

<button type="submit" name="find" value="Find">Find</button>

拉威尔:

if (isset($request->find)) 
{
    //code
}
rbpvctlc

rbpvctlc2#

这可以通过两种方式来解决:第一种方法,如果你的表单只包含一个按钮,并且你的表单使用POST,那么就像Adnan Mumtaz说的,我们可以用途:

if($request->method() == 'POST'){
//ur code here
}

但如果表单包含多个按钮,我们想检查按钮是否有名称btn1点击,那么我们可以用途:

if($request->has('btn1')){
//rest of the  code here
}
pkmbmrz7

pkmbmrz73#

下面是我正在使用的:

if($request->has('submit')){
    //do something
}
gt0wga4j

gt0wga4j4#

如果使用POST方法提交,则可以检查是否通过POST提交

if($request->method() == 'POST'){
//ur code here
}
rnmwe5a2

rnmwe5a25#

您可以使用get()请求方法

if($request->get('submit')){
//do something
}

确保在视图中已指定按钮名称submit

wkyowqbh

wkyowqbh6#

例如,如果您的提交按钮html是像下面这样
<input type="submit" name="submit_btn" value="add">

if($request->submit_btn == 'submit')
{
     //code
}

这里比较一下,如果submit_btn的值是submit,则表示submit被选中。希望这能有所帮助。

6yjfywim

6yjfywim7#

因为你应该总是在你的<form>中使用@csrf,那么你可以检查

if (request()->input('_token')) // null = false

此外,如果您想检查<form>是否已发送但失败,也可以检查

if (!empty(old())) // old() also contain the `_token` field

相关问题