基于url的on load警告框脚本

时间:2015-02-24 20:58:45

标签: javascript alert

我正在创建一个提交表单,将表单发送到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>

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

3 个答案:

答案 0 :(得分:2)

window.location.href包含完整的网址,包括域名和完整路径,因此基本的平等比较无法正常工作,除非您对其进行匹配,甚至可能会导致问题(例如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等括号中删除任何参数,除非您&#39 ;谈论else if

答案 1 :(得分:1)

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

 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.")
}

答案 2 :(得分:0)

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
                {

                }