Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript按钮值更改_Javascript - Fatal编程技术网

JavaScript按钮值更改

JavaScript按钮值更改,javascript,Javascript,我是JavaScript新手 我创建了一个简单的下拉列表,每个值都有一个对应的URL。 用户应首先在下拉列表中选择选项,然后单击按钮。单击按钮时,将打开另一个窗口 我的简单下拉代码 <select id="website"> <option value="google">Google</option> <option value="kissasian">Kiss Asian</option>

我是JavaScript新手

我创建了一个简单的下拉列表,每个值都有一个对应的URL。 用户应首先在下拉列表中选择选项,然后单击按钮。单击按钮时,将打开另一个窗口

我的简单下拉代码

     <select id="website">
        <option value="google">Google</option>
        <option value="kissasian">Kiss Asian</option>
        <option value="stackover">Stackoverflow</option>
      <select>
然后按下按钮

    <button id="linkBtn">
        <a id="link" href="">Website</a>
    </button>

当选择一个选项时,我如何将选项中链接的值复制到Javascript中链接元素的href中,以便当我按下按钮时,页面重定向到该URL?

正如其他人所提到的,按钮元素中不能有链接

您可以:

把你的按钮放在表格里。您的表单可以有一个onSubmit方法,它可以将您带到下拉列表选择的URL。 有一个按钮和onclick方法做同样的事情。 让你的链接看起来像一个按钮:这可能是最复杂的,所以我跳过这个。 大约:

 <script>
 function myHandler() {
    // get selected value
    var e = document.getElementById("website");
    var newloc = e.options[e.selectedIndex].value;
    window.location = newloc;
    return false;
 }
 </script>

 <!-- HTML Method 1 -->
 <form onSubmit="myhandler()">

 <select id="website">
    <option value="http://google.com">Google</option>
    <option value="http://kissasian.com">Kiss Asian</option>
    <option value="http://stackoverflow.com">Stackoverflow</option>
 </select>
 <button type='submit' id='linkBtn'>Click to go</button>
 </form>

<!-- HTML Method 2 -->
<select id="website">
    <option value="http://google.com">Google</option>
    <option value="http://kissasian.com">Kiss Asian</option>
    <option value="http://stackoverflow.com">StackOverflow</option>
 </select>
 <button type='button' id='linkBtn' onclick='myHandler()'>Click to go</button>

您可以选择并单击按钮打开下拉列表中选择的值。也不需要在按钮内部添加标签

如果该值应为实际uri,则应在select fropdown上添加onchange事件,以获取可在按钮中更改的选定值和文本。此外,按钮和元素需要有不同的id

函数selectchange{ var值=e.value; var text=e.options[e.selectedIndex].text document.getElementById'link'.href=value; document.getElementById'link'.text=text; } 谷歌 吻亚洲人 栈溢出
不能使用彼此嵌套的两个动作元素,也不能使用相同的ID。 DOM中只能有一个唯一的ID

将事件侦听器附加到select元素。选择一个值,并使用网站数组,其中的键对应于选择选项值

window.onload=函数{ var网站={ “谷歌”:http://google.com', “亚洲之吻”:http://kissasian.com', “stackover”:”http://stackoverflow.com' } var selectWebsite=document.querySelector'website'; var websiteButton=document.querySelector'link'; 选择Website.addEventListenerchange,函数{ var网站=此值; websiteButton.setAttributeRef,网站[网站]; }; }; 谷歌 吻亚洲人 栈溢出
不能使用两个嵌套的动作元素。HTML 101。内部按钮是无效的标记。为什么按钮和具有相同ID的链接?ID在HTML页面中应该是唯一的。欢迎使用SO,rubz。当您发布问题时,您可能希望与我们分享更多的研究成果。我们将尝试提供帮助,但到目前为止您尝试了什么?但是应该只有一个按钮,如何更改按钮的valueurl?这将在下拉列表中获得选定的值,单击该按钮时,它将在新选项卡中打开。您也可以通过选择dropdown来更改值。谢谢,我们将尝试此操作。为什么我们需要在按钮内添加标记,仍然不明白。我有一个问题,我应该将URL放在哪里,www.google.com,kissasian.ch,代码中的stackoverflow.com?在选项标记的值内@rubz@rubz很高兴为您提供帮助。如果答案对您有帮助,您可以勾选标记。您不需要表单来处理按钮单击事件。除非您正在收集表单数据或希望发布某些内容,否则实际上并不需要表单。只需要有一个按钮,类型为button,并添加一个click事件处理程序。是的,正如我输入的第二个方法所示,但有多种方法可以实现。如何做到这一点?方法2可以工作,谢谢!
<button id="link" onclick = "window.open(document.getElementById('website').value)">
      </button>