0

调用 window.location 命令后,有没有办法将(jquery 操作/编写 html 文本)调用到新页面的 div?

我试图提交一个 ajax 表单,提交后用户将被重定向到一个新页面,

并且在该新页面中将出现一个隐藏的 div,其中包含文本

目前这是我的代码

脚本.js

$.ajax({
            url:url,
            type:'POST',
            data:datastr,
            success:function(result){
            if(result=="duplicate"){
                $("#status").attr('class', 'span12 alert alert-error');
                $("#status").show();
                $("#status").html("<h4><center>Duplicate Username</center></h4>");

                $("#dept_name").closest(".control-group").attr('class', 'control-group');
                $("#username").closest(".control-group").attr('class', 'control-group error');
                $("#password").closest(".control-group").attr('class', 'control-group');

                $("#username").focus();
                }
            else{
                $("#dept_name").closest(".control-group").attr('class', 'control-group');
                $("#username").closest(".control-group").attr('class', 'control-group');
                $("#password").closest(".control-group").attr('class', 'control-group');
                window.location = base + 'admin/departments/edit_dept/' + result;
                }
            }

        });

我想让下面的这段代码在 window.location 所在的页面上工作

                $("#status").attr('class', 'span12 alert alert-error');
                $("#status").show();
                $("#status").html("<h4><center>Successfully added Department</center></h4>");

可能吗?

谢谢

4

3 回答 3

1

您可以使用 CI 会话闪存数据。

http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

在触发之前window.location,将消息设置在flashdata. 在登录/重定向到的页面上,检查是否flashdata有值(成功/失败)。如果是,则显示(或触发 js 方法显示)消息。

于 2013-08-14T13:15:56.357 回答
1

您可以在 window.location 中添加一个参数,例如:

window.location = base + 'admin/departments/edit_dept/' + result + '?showMessage=12'

然后在下一页上,有一个查找该参数并显示消息的 jquery 脚本。看到这个问题

或者你可以在服务器上进行。但是对于 jquery,它也适用于静态 html。

于 2013-08-14T13:21:20.243 回答
0

这是一个补丁,但可能需要一些调整。

window.location = base + 'admin/departments/edit_dept/' + result+'/err';  //changed to catchup with the view part

在控制器中:

 <?php
    if($this->uri->segment(4) == "err"){
        $data['err']    = true;                 #will reflect that we need to show the js in the view
        $this->load->view('view', $data);
    }
?>

在视图部分:

<?php if(isset($err)){ ?>
<script type="text/javascript">
$("#status").attr('class', 'span12 alert alert-error');
$("#status").show();
$("#status").html("<h4><center>Successfully added Department</center></h4>");
</script>
<?php } ?>
于 2013-08-14T13:19:59.380 回答