【问题标题】:Correct syntax for javascript redirect with parameters带参数的 javascript 重定向的正确语法
【发布时间】:2017-11-14 17:13:25
【问题描述】:

我需要修改下面的代码,从作为弹出窗口的 Casio 表单中的 Submit 运行,以重定向父页面(而不是刷新它)并关闭弹出窗口。

目前的代码是:

<script>
    setTimeout(function() {
            window.parent.location.reload();
            window.parent.jQuery.fancybox.close();},
        2000);
</script>

我认为我需要类似下面的内容,但我无法正确使用语法:

setTimeout(function() {
        window.parent.location.href='../my-webpage?PID=[@field:PID]&PTID=[@field:PTID]'();
        window.parent.jQuery.fancybox.close();},
    2000);

对此的任何帮助将不胜感激。

【问题讨论】:

  • 设置位置后,您将无法立即更改父级上的任何内容.......
  • [@field:PID] 是什么语法?你从哪里得到这些值?
  • 为什么url后面有()?我在没有它的情况下进行了测试,代码运行良好。
  • 那些字段:PID 和 PTID 部分来自 Caspio 数据页字段。在这种情况下,它们是数字的字段值。在这个线程中使用硬数字代替字段可能更清楚:PID 和 PTID(我发帖时应该想到这一点)。
  • 就是这样 - 只需删除 url 后面的 ()。我没有尝试过那种特殊的方法。完美运行 - 非常感谢!

标签: javascript redirect


【解决方案1】:
setTimeout(function(){ 
window.parent.location.href=window.location.hostname; window.parent.jQuery.fancybox.close();
}, 2000);

它会重定向到当前域

然后通过“/”为父级

var currentURL = window.parent.location.href;
var lastDir = currentURL.substr(currentURL.lastIndexOf('/') + 1)
var parentURL = currentURL.replace(lastDir,"");

   setTimeout(function(){ 
    window.parent.location.href=parentURL; window.parent.jQuery.fancybox.close();
    }, 2000);

它将以“/”作为分隔符重定向到域的父级。

例如我当前的https://stackoverflow.com/posts/parent/child

所以会重定向到

https://stackoverflow.com/posts/parent

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    相关资源
    最近更新 更多