如何在此处传递此变量值?下面的代码不起作用。关于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()">
答案 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`