laravel中,提交表单后给出提示例如添加成功,添加失败等等

laravel中的表单插入,我想在表单插入成功后,可以像thinkphp一样可以有一个提示内容,上网Google,他们还是给出的方法就是

return redirect(‘/‘)->with(‘message‘, ‘Message sent!‘);

然后在view中接收

@if(Session::has(‘message‘))
 <div class="alert alert-info"> {{Session::get(‘message‘)}}
 </div>
 @endif

可行是可行,但是我总体还是觉得我想要的是thinkphp中的那种跳转效果,或者是弹出一个窗口进行跳转。所以在这个地方我就使用到了js。废话不多说,直接贴出代码,我的controller里面使用view方法传递参数。

 return view(‘pc.index.jump‘)->with([
                    ‘message‘=>‘你已经提交申请,请您耐心等待!‘,
                    ‘url‘ =>‘/index‘,
                    ‘jumpTime‘=>2,
                ]);

在index中建立jump页面,这个就是即将要跳转的页面,在这个页面中写入js,url就是跳转的地方,jumpTime跳转的时间,倒计时。 
然后就是jump页面:

<div id="applyFor" style="text-align: center; width: 500px; margin: 100px auto;">

{{$message}},将在
<span class="loginTime" style="color: red">{{$jumpTime}}</span>秒后跳转至
<a href="{{$url}}" style="color: red">首页</a>页面

</div>

 <script type="text/javascript">
        $(function(){
            var url = "{{$url}}"
            var loginTime = parseInt($(‘.loginTime‘).text());
            var time = setInterval(function(){
                loginTime = loginTime-1;
                $(‘.loginTime‘).text(loginTime);
                if(loginTime==0){
                    clearInterval(time);
                    window.location.href=url;
                }
            },1000);
        })
    </script>

效果完毕!

如果想跳转上一个页面

//返回当前页面的地址
echo url()->current();

//返回当前页面的完整路径
echo url()->full();

//返回前一个页面的地址
echo url()->previous();

所以,如果我们的view中想定义一个返回按钮,可以这样定义:

<!-- 注意我们使用的是blade template (my-view.blade.php) -->
<a href="{{ url()->previous() }}" class="btn">返回</a>

还可以再后台这样定义:(msginfojump可以用上面jump页面的信息)

            $msg = [
                ‘message‘=>‘你已经修改失败!‘,
                ‘url‘ =>url()->previous(),//注意这里是重点
                ‘jumpTime‘=>5,
            ];
            return view(‘/comm/msginfojump‘)->with($msg);

转:http://blog.csdn.net/u011020900/article/details/52368332

时间: 2024-10-10 12:52:58

laravel中,提交表单后给出提示例如添加成功,添加失败等等的相关文章

html中提交表单并实现不跳转页面处理返回值

<html> <head> <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script> <!-- 处理iframe回调的代码块 --> <script type="text/javascript"> var handlerFlag

利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)

在很多企业级应用中,我们都没法直接通过开发语言sdk包封装的http工具来模拟http复合表单(multipart/form-data),特别是在跨语言跨平台的编程过程中,其实实现方案并不复杂,只要你了解了http协议中复合表单的报文结构就很简单了: httpheader ------时间戳------ 表单参数1 ------时间戳------ 表单参数2 ------时间戳------ 文件1的描述+二进制信息 ------时间戳------ 文件2的描述+二进制信息 下面我们进一步以一段c

php中提交表单数据的POST()方法和GET()方法

提交获取表单数据是表单应用中最常用的操作,经常需要PHP后台从前台页面中获取用户在前台表单页面中提交的各种数据.表单数据传递的方式有以下的两种方法,一种为POST()方法,另外一种为GET()方法.具体采用哪种获取数据的方法是由<form>表单的 method 属性所指定的,下面讲解这两种方法在 Web 表单中的具体应用.大理石平台厂家 使用POST()方法提交表单 在使用POST()方法时,只需要将<form>表单中的属性 method 设置成POST即可. POST()方法不依

JS提交表单后回跳的细节处理

有些时候提交表单后需要我们留在原来表单的界面,那么提交后如何使表单里面的内容清空或者保留呢?作为一个小知识点我总结了下:(以后我还会补充些相关内容) 表单里的内容我经过在servelet测试替换红色部分的内容, int b = new MemberDao().save(member); if(b!=0){ out.print("<script>alert('提交成功')</script>"); out.print("<script>loca

用HTTP状态码实现提交表单后刷新页面不重复提交

正常情况下,表单提交后如果用户刷新页面会重复提交表单,有些情况下我们不希望表单重复提交,利用HTTP协议中的307状态码重定向页面可以实现这个目的.实例如下: 表单页面代码: <form action="1.php" method="post"> <input type="text" name="na"> <input type="submit" value="提交&

laravel中的表单请求类型和CSRF防护(六)

laravel中为我们提供了绑定不同http请求类型的函数. Route::get('/test', function () {}); Route::post('/test', function () {}); Route::put('/test', function () {}); Route::patch('/test', function () {}); Route::delete('/test', function () {}); Route::options('/test', func

Form提交表单后页面刷新不跳转的实现

<form action="" id="" method="post" target="nm_iframe"> <input type="text" id="input_text" name="input_text"/> <input type="submit" id="sobmit" name=&

submit提交表单后,不刷新当前页面

<form method="get" target="test" action="a.html"> <input type=""text /> <input type="submit" /> </form> <iframe name="test" style="display:none"></ifram

使用layer的iframe层提交表单后,需要关闭当前的iframe层,然后刷新父页面的方法2

<input type="button" onclick="edit(${it.id?c})" class="layui-btn layui-btn-normal layui-btn-sm" value="编辑"> function edit(id) {//iframe层 layer.open({ type: 2, title: '编辑服务商', shadeClose: true, shade: 0.8, area