onclick="javascript:window.location.href后面带参数怎么加

Derekwong_Vip 2014-10-16 07:47:28
有个from,里面有2个文本框
1、d_id
2、d_name

想通过onclick来提交参数,那么window.location.href=a.asp?d_id=XXX

XXX这个参数怎么写,把表单中2个文本框的值加进去,谢谢。
...全文
93846 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Derekwong_Vip 2014-10-17
  • 打赏
  • 举报
回复
引用 10 楼 jikeytang 的回复:
[quote=引用 9 楼 Derekwong_Vip 的回复:] [quote=引用 2 楼 jikeytang 的回复:] 你需要的只是一个明传址,这种方式会把参数以明文的方式传过去,这样是不安全的。虽然在技术上是可以实现的。

<form action="#">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="button" value="sublimt"/>
</form>
<script>
    document.getElementById('btn').onclick = function(){
        var d = document.getElementById('d_id').value;
        var name = document.getElementById('d_name').value;
        location.href = 'a.asp?d_id=' + d + '&d_name=' + name;
    }
</script>
再问个问题,这一段JS,我想家个执行跳转后,关闭子页面,我自己在最后加了个self.close;但不起作用。[/quote] location.href打开的是一个全新的页面,需要兼容的话就比较麻烦一点: http://www.111cn.net/wy/js-ajax/50225.htm[/quote] 感谢回复,我这只用对IE有效,不用考虑兼容性,我就想加在你的 <script> document.getElementById('btn').onclick = function(){ var d = document.getElementById('d_id').value; var name = document.getElementById('d_name').value; location.href = 'a.asp?d_id=' + d + '&d_name=' + name; } </script> 这个后面,点完按钮,发送连接后,再关闭当前窗口。我直接在最后面加一个self.close; 没效果。
豪情 2014-10-17
  • 打赏
  • 举报
回复
引用 9 楼 Derekwong_Vip 的回复:
[quote=引用 2 楼 jikeytang 的回复:] 你需要的只是一个明传址,这种方式会把参数以明文的方式传过去,这样是不安全的。虽然在技术上是可以实现的。

<form action="#">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="button" value="sublimt"/>
</form>
<script>
    document.getElementById('btn').onclick = function(){
        var d = document.getElementById('d_id').value;
        var name = document.getElementById('d_name').value;
        location.href = 'a.asp?d_id=' + d + '&d_name=' + name;
    }
</script>
再问个问题,这一段JS,我想家个执行跳转后,关闭子页面,我自己在最后加了个self.close;但不起作用。[/quote] location.href打开的是一个全新的页面,需要兼容的话就比较麻烦一点: http://www.111cn.net/wy/js-ajax/50225.htm
Derekwong_Vip 2014-10-16
  • 打赏
  • 举报
回复
引用 2 楼 jikeytang 的回复:
你需要的只是一个明传址,这种方式会把参数以明文的方式传过去,这样是不安全的。虽然在技术上是可以实现的。

<form action="#">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="button" value="sublimt"/>
</form>
<script>
    document.getElementById('btn').onclick = function(){
        var d = document.getElementById('d_id').value;
        var name = document.getElementById('d_name').value;
        location.href = 'a.asp?d_id=' + d + '&d_name=' + name;
    }
</script>
再问个问题,这一段JS,我想家个执行跳转后,关闭子页面,我自己在最后加了个self.close;但不起作用。
Derekwong_Vip 2014-10-16
  • 打赏
  • 举报
回复
引用 6 楼 slwsss 的回复:
下拉框:document.getElementById('id').value 单选框:var v=null,d=document.getElementsByName('a');for(var i in d)if(d[i].checked){v=d[i].value;break;}alert(v);
非常感谢!
Derekwong_Vip 2014-10-16
  • 打赏
  • 举报
回复
引用 4 楼 Derekwong_Vip 的回复:
[quote=引用 2 楼 jikeytang 的回复:] 你需要的只是一个明传址,这种方式会把参数以明文的方式传过去,这样是不安全的。虽然在技术上是可以实现的。

<form action="#">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="button" value="sublimt"/>
</form>
<script>
    document.getElementById('btn').onclick = function(){
        var d = document.getElementById('d_id').value;
        var name = document.getElementById('d_name').value;
        location.href = 'a.asp?d_id=' + d + '&d_name=' + name;
    }
</script>
其实我个人更建议这种post的方式来提交参数。 .asp直接可以根据name值获得input里边的值

<form action="a.asp" method="post" onsubmit="return send();">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="submit" value="sublimt"/>
</form>
<script>
    function send(){
        if(document.getElementById('d_id').value.length < 1){
            alert('请正确输入!');
            return false;
        }
        return true;
    }
</script>
感谢jikeytang的回复,非常详细,其实我也是想用POST的,只是在过程中碰到个问题,发到asp版面没人回,没办法才走这条路。 这个是原始问题,http://bbs.csdn.net/topics/390907334,下面也详细说明。 如果可以的话,请帮我看看,能解决的话就太感谢了。[/quote] 简单说,就是我用JS的 opener.location.href可以把在不打开新页面的情况下把数据直接发送到window.open的父窗口,而POST,非要打开一个新窗口。有没办法用JS控制POST的时候直接到父窗口而不开新窗口。
slwsss 2014-10-16
  • 打赏
  • 举报
回复
下拉框:document.getElementById('id').value 单选框:var v=null,d=document.getElementsByName('a');for(var i in d)if(d[i].checked){v=d[i].value;break;}alert(v);
Derekwong_Vip 2014-10-16
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
window.location.href='a.asp?d_id='+document.getElementById('d_id').value+'&d_name'+document.getElementById('d_name').value
再追问一个问题,发现表单中如果有单选和下拉框,这样的取值好像就不对。 比如,单选 <input type="radio" name="d_radio" id="d_radio_1" value="0"> <input type="radio" name="d_radio" id="d_radio_2" value="1"> 这样的情况应该怎么取值,如果用d_radio='+document.getElementById('d_radio').value+' 无论怎么选那个,总是取0。如果可以把下拉框的也教教,感谢。
Derekwong_Vip 2014-10-16
  • 打赏
  • 举报
回复
引用 2 楼 jikeytang 的回复:
你需要的只是一个明传址,这种方式会把参数以明文的方式传过去,这样是不安全的。虽然在技术上是可以实现的。

<form action="#">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="button" value="sublimt"/>
</form>
<script>
    document.getElementById('btn').onclick = function(){
        var d = document.getElementById('d_id').value;
        var name = document.getElementById('d_name').value;
        location.href = 'a.asp?d_id=' + d + '&d_name=' + name;
    }
</script>
其实我个人更建议这种post的方式来提交参数。 .asp直接可以根据name值获得input里边的值

<form action="a.asp" method="post" onsubmit="return send();">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="submit" value="sublimt"/>
</form>
<script>
    function send(){
        if(document.getElementById('d_id').value.length < 1){
            alert('请正确输入!');
            return false;
        }
        return true;
    }
</script>
感谢jikeytang的回复,非常详细,其实我也是想用POST的,只是在过程中碰到个问题,发到asp版面没人回,没办法才走这条路。 这个是原始问题,http://bbs.csdn.net/topics/390907334,下面也详细说明。 如果可以的话,请帮我看看,能解决的话就太感谢了。
Derekwong_Vip 2014-10-16
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
window.location.href='a.asp?d_id='+document.getElementById('d_id').value+'&d_name'+document.getElementById('d_name').value
谢谢slwsss,测试后可用。
豪情 2014-10-16
  • 打赏
  • 举报
回复
你需要的只是一个明传址,这种方式会把参数以明文的方式传过去,这样是不安全的。虽然在技术上是可以实现的。

<form action="#">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="button" value="sublimt"/>
</form>
<script>
    document.getElementById('btn').onclick = function(){
        var d = document.getElementById('d_id').value;
        var name = document.getElementById('d_name').value;
        location.href = 'a.asp?d_id=' + d + '&d_name=' + name;
    }
</script>
其实我个人更建议这种post的方式来提交参数。 .asp直接可以根据name值获得input里边的值

<form action="a.asp" method="post" onsubmit="return send();">
    <input type="text" name="d_id" id="d_id"/><input type="text" name="d_name" id="d_name"/>
    <input id="btn" type="submit" value="sublimt"/>
</form>
<script>
    function send(){
        if(document.getElementById('d_id').value.length < 1){
            alert('请正确输入!');
            return false;
        }
        return true;
    }
</script>
slwsss 2014-10-16
  • 打赏
  • 举报
回复
window.location.href='a.asp?d_id='+document.getElementById('d_id').value+'&d_name'+document.getElementById('d_name').value

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧