如何在javascript中将变量传递给href?

时间:2013-12-25 05:20:37

标签: javascript href location-href

如何在此处传递此变量值?下面的代码不起作用。关于Stackoverflow的所有其他讨论都不清楚。

<script type="text/javascript">
        function check()
        {
            var dist = document.getElementById('value');
            if (dist!=""){
                window.location.href="district.php?dist="+dist;
            }
            else
               alert('Oops.!!');
        }
</script>

我的HTML代码是:

<select id="value" name="dist" onchange="return check()">

6 个答案:

答案 0 :(得分:8)

当您将整个对象传递给URL时,必须使用.value获取字段值,因为document.getElementbyId('value')返回整个字段对象。

var dist = document.getElementById('value').value;

所以你的功能应该是这样的

function check() {
    var dist = document.getElementById('value').value; // change here
    if (dist != "") {
        window.location.href = "district.php?dist=" + dist;
    } else
        alert('Oops.!!');
}

答案 1 :(得分:4)

您已获取该字段的value,目前您正在使用DOM对象

使用

 var dist = document.getElementById('value').value;

或者

使用

 if (dist.value!=""){
     window.location.href="district.php?dist="+dist.value;

而不是

if (dist!=""){
     window.location.href="district.php?dist="+dist;

答案 2 :(得分:4)

试试这个:

function check() {
    var dist = document.getElementById('value').value;

    if (dist) {
        window.location.href = "district.php?dist=" + dist;
    } else {
        alert('Oops.!!');
    }
}

答案 3 :(得分:3)

试试这个:

var dist = document.getElementById('value').value;
if (dist != "") {
 window.location.href="district.php?dist="+dist;
}

答案 4 :(得分:1)

你必须对你的功能进行一些修正..

function check()
    {
        var dist = document.getElementById('value').value;  //for input text value
       if (dist!==""){  //  for comparision
           window.location.href="district.php?dist="+dist;
       }
       else
           alert('Oops.!!');
    }

答案 5 :(得分:1)

我对此使用了非常不同的方法。我在客户端中设置了浏览器 cookie,该 cookie 在我设置 window.location.href 后一秒过期。

这比在 URL 中嵌入参数更安全。

服务器以cookie的形式接收参数,发送后浏览器立即删除cookie。

const expires = new Date(Date.now() + 1000).toUTCString()
document.cookie = `oauth-username=user123; expires=${expires}`
window.location.href = `https:foo.com/oauth/google/link`