我正在Laravel上写博客,并试图根据不同的按钮点击将表单重定向到不同的url。你也可以参考我的代码
<form action="{{url('/storepost')}}" id="submitform" method="POST" enctype="multipart/form-data">
@csrf
<input type="text" name="blogtitle" placeholder="Enter the blog Title" class="form-control" >
<textarea class="form-control" id="editor" name="editor" rows="3"></textarea>
<button class="btn btn-success" type="submit">Publish</button>
<span><button class="btn btn-warning">Save as Draft</button></span>
</form>
由于我有两个按钮,即发布和另存为草稿,并且我想根据按钮点击将表单重定向到不同的url,我不知道如何做到这一点。
有人能帮我吗。
谢谢。
您可以提交带有名称的表单,并在控制器中检查输入的名称。
<form action="{{url('/storepost')}}" id="submitform" method="POST" enctype="multipart/form-data">
@csrf
<input type="text" name="blogtitle" placeholder="Enter the blog Title" class="form-control" >
<textarea class="form-control" id="editor" name="editor" rows="3"></textarea>
<input class="btn btn-success" type="submit" value="publish" name="publish" />
<input class="btn btn-success" type="submit" value="Save as Draft" name="draft" /></span>
</form>
在控制器中检查输入:
控制器
if(request()->has('draft')){
\ Do draft
} else {
\ Do publish
}
有一种方法可以解决它例如,您需要将按钮标记更改为input:submit
并添加一个name="type"
在你的后台,你可以检查这个值
<form action="{{url('/storepost')}}" id="submitform" method="POST" enctype="multipart/form-data">
@csrf
<input type="text" name="blogtitle" placeholder="Enter the blog Title" class="form-control" >
<textarea class="form-control" id="editor" name="editor" rows="3"></textarea>
<input type="submit" class="btn btn-success" name="type" value="Publish">
<span><input type="submit" class="btn btn-warning" name="type" value="Save as Draft"></span>
</form>
然后在你的控制器中,你可以简单地检查这个的值
public function store(Request $request){
if($request->input('type') == 'Publish'){
// do something
} else {
// do another thing
}
}