【问题标题】:script for on load alert box based on url基于 url 的加载警报框脚本
【发布时间】:2015-02-24 20:58:45
【问题描述】:

我正在创建一个提交表单,将表单发送到一个 php 表单,并在表单完成后将其重定向到初始页面,并在 url 中添加一个“?s=1”。 基本上我想要做的是创建一个警报框,在加载页面时弹出一个带有“?s = 1”的页面。

我知道这是一种非常暴力的方法,但我似乎无法让小脚本正常工作。我确定一切正常并加载到该点并重新加载带有 ?s=1 的初始页面。

这是我用来尝试提示警报框的代码

enter code here <script type="text/javascript">
        var Path = window.location.href;
        if (Path == "mywebsite.html?s=1")
            {
            alert("Your Form Has Been Submitted.")

            }
        else()
            {

            }
    </script>

有人知道为什么该框不会出现吗?或者可能是我正在尝试做的替代方法?谢谢。

【问题讨论】:

标签: javascript alert


【解决方案1】:

window.location.href 包含完整的 URL,包括域和完整路径,因此除非您完全匹配它,否则基本的相等比较将不起作用,即使这仍然可能导致问题(例如 www. 与裸域,https://http:// 等)。一种可能的解决方案是使用 RegEx。

 var pathRegex = /mywebsite\.html\?s\=1/;
 if (pathRegex.test(window.location.href)) {
     alert("Your Form Has Been Submitted.")
 }

请注意,您可以有一个 if 语句而没有伴随的 else,并且 else 语句不会像 if 那样在括号中使用任何参数,除非您在谈论 else if

【讨论】:

  • 非常感谢。完美实施。我被抛出了一个没有 html php 或 javascript 背景的项目,并且一直在学习这些语言,但再次感谢你!
  • @falcons1112 很高兴我能帮上忙 :) 虽然当你继续前进时,你应该研究一下 flash 消息,这是一种更可靠、更易于扩展的向用户显示消息的方式。 :) github.com/plasticbrain/PHP-Flash-Messages
【解决方案2】:

这是我为我的一个项目编写的一些代码,可让您从 url 中提取参数和值。

 function GetURLParameter(urlParameter){ 
        var url = window.location.search.substring(1); 
        var urlVariables = url.split('&'); 
        for (var i = 0; i < urlVariables.length; i++){ 
            var parameter = urlVariables[i].split('='); 
            if (parameter[0] == urlParameter){ 
                return parameter[1]; 
            } 
        } 
    } 

使用方便:

对于 mywebsite.com?s=1

这只是

var k = GetURLParameter('s');
if (k == 1){
    alert("Your Form Has Been Submitted.")
}

【讨论】:

    【解决方案3】:
    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }
    

    然后检查...

        if (getParameterByName("s")=="1")
                    {
                    alert("Your Form Has Been Submitted.")
                    }
                else
                    {
    
                    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 2021-08-16
      相关资源
      最近更新 更多