基于 url 的加载警报框脚本

script for on load alert box based on url

我正在创建一个提交表单,将表单发送到 php 表单,并在表单完成后将其重定向到初始页面,并在 [=21] 中添加一个“?s=1” =]. 基本上我想做的是在加载 url 中带有“?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>

有谁知道为什么盒子不会出现?或者可能是我尝试做的另一种方法?谢谢

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,否则语句不会像 if 那样在括号中包含任何参数,除非您谈论 else if.

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
                {

                }

这是我为我的一个项目编写的一些代码,可让您从 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.")
}