【问题标题】:Javascript Radio Button Value in URLURL中的Javascript单选按钮值
【发布时间】:2014-11-25 00:21:38
【问题描述】:

我已经阅读了这几天的变体,但找不到我想要的可行解决方案。这可能比我想象的要容易。

我有一组单选按钮,并希望将选中的值传递给 URL 的一部分。

<input type="radio" name="link" value="one" checked="checked">One
<input type="radio" name="link" value="two">Two
<input type="radio" name="link" value="three">Three

并且我希望将检查的任何一个值传递给变量,例如 dt 然后传递到提交按钮,该按钮将您带到一个包含单选按钮文本的 url。

<input type="button" value="OK" id="ok_button" onclick="parent.location='/testfolder/' + dt;>

但我正在努力寻找如何获得 var dt = document.getElementByName('link').value; 当我尝试应用 for 循环以确保它被检查时为我工作。

提交按钮中的 onclick='parent.location.... 是否需要位于函数中而不是提交按钮的一部分?那么同样的函数可以抓取单选按钮的值吗?

所以我呼吁 StackOverflowers 希望能提供一些指导......谢谢

【问题讨论】:

  • 网址是什么样的,该网址如何影响页面?
  • 您希望parent.location 做什么......?什么是父母..?
  • 单选按钮在弹出窗口框中,parent 用于链接到主窗口而不是在弹出框中。下面的解决方案对我很有用。干杯

标签: javascript html


【解决方案1】:

首先你想知道你的组合框在这个易于使用的在线工具中的价值。

document.querySelector('[name="link"]:checked').value;

我建议使用事件处理器来处理 javascript,所以不要写在 onclick 属性中。

 var btn = document.getElementById('ok_button');
 btn.addEventListener('click', function(){ /*handle validations here*/ })

jsfiddle

【讨论】:

    【解决方案2】:

    你可以试试下面的代码

    <input type="button" value="OK" id="ok_button" onclick="functionName();'>
    

    JavaScript 代码

            <script type="javascript">
    function functionName(){
        var radios = document.getElementsByName('link'), 
            value  = '';
    
        for (var i = radios.length; i--;) {
            if (radios[i].checked) {
                value = radios[i].value;
                break;
            }
        }
    
                 window.location.href='/testfolder/'+ value   
            }
            </script>
    

    【讨论】:

    • 破解了。谢谢你。超链接也引入了一些 php,并且可以很好地将其引入脚本。缺少的链接...非常感谢。
    • @user3577774 - 很高兴为您提供帮助 - 如果答案有用,请点击“正确”并给予“赞成”,以便其他人找到正确的解决方案。
    • 我尝试了 UpVote,但我还没有足够的“声誉”积分。当我这样做时......我会:) 不过已经勾选了。再次感谢
    【解决方案3】:

    var dt = document.getElementsByName('link')[0].value 为我工作

    您可以在内联 onclick 处理程序或您定义的函数中使用它

    【讨论】:

    • 你没有得到实际的检查值。你只得到第一个单选按钮的值。 see here
    【解决方案4】:
    <input type="radio" id="1" name="link" onchange="WhatToDo()" value="one">One</input>
    <input type="radio" id="2" name="link" onchange="WhatToDo()" value="two">Two</input>
    <input type="radio" id="3" name="link" onchange="WhatToDo()" value="three">Three</input>
    
    
    <script type="text/javascript">
    function WhatToDo() {
       var rButtons = document.getElementsByName('link');
    for (var i = 0; i < rButtons.length; i++) {
        if (rButtons[i].checked) { 
            alert(rButtons[i].value);
        }     
      }
    }
    </script>
    

    也许是这样的。使用 onchange 然后遍历您的单选按钮。循环查看是否选中了单选按钮。这是一个起点。

    【讨论】:

    • 谢谢。我无法将它传递到我的 URL 链接中。但是,我根据另一个答复(如下)管理了解决方案。感谢您的帮助。
    猜你喜欢
    • 2017-06-28
    • 2017-01-05
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多